OpenSUSE Apache - аутентификация пользователей группы LDAP - Mercurial
- ОС: OpenSUSE Linux
- Контроль версий: Mercurial Hg
- Веб-интерфейс: Apache2.2
Я могу нажать кнопку просмотра http://имя_сервера: порт /hg
Как только я нажимаю на него, он запрашивает у меня учетные данные каталога Windows AD.
Теперь у меня есть следующие репозитории в папке /srv/www/htdocs/hg/repos:
- RepoProjectA
- RepoProjectB
- RepoProjectC
нажатие на указанные ссылки репозитория в порядке, так как я могу видеть передний конец Hg.
Теперь я хочу добавить аутентификацию и авторизацию, чтобы:
-
А)
- Только пользователи "c123456", "c654321" могут фиксировать файлы в RepoProjectA.
- Только пользователи "c222222" и "c333333" могут нажимать изменения, и никто другой не может нажать
Для вышесказанного, какие файлы (???) мне нужно изменить и какие изменения/записи следует добавить
чтобы это произошло.
PS: Я использую LDAP как аутентификацию с помощью Windows Active Directory. Мне все еще нужно используйте модули htpasswd2 или htdigest2 для создания любых пользовательских файлов - или для предоставления доступ к группе создает любой групповой файл???? Я думал, что группы могут быть взяты из что уже есть в Active Directory. Поскольку это разные проекты репозитории, мне нужны отдельные файлы .htaccess? Не будет ли один глобальный файл трюк?
-
B)
- Только пользователи "u123456" и "u654321" могут фиксировать файлы на ветке "branch1" в RepoProjectB.
(предполагая, что в RepoProjectB есть ветвь "branch1" ).
- Только пользователи "u222222" и "u333333" могут форматировать файлы
- Никто не может совершать/нажимать что-либо на ветку TRUNK/default
- Исключение: все из группы "RepoProjectB-GROUP" или "ABCDGroup" могут делать что угодно в
этот репозиторий или ветки.
Для вышеизложенного, какие файлы (???) мне нужно изменить и какие изменения/записи следует добавить, чтобы это произошло.
-
C) Я попробовал использовать подсказку CMD и утилиту TortoiseHg с моей клиентской машины Windows, тогда как
делать какие-либо операции в Hg (клон, ветвь, добавление, фиксация, push и т.д.), мне предлагается
каждый раз указывая имя пользователя и пароль. Это работает, но я получаю подсказку для
каждое действие в Hg.
Как я могу ограничить, чтобы пользователь предоставлял только учетные данные Windows Active Directory?
один раз за сеанс.
Может кто-нибудь поставить немного света.
Ответы
Ответ 1
Некоторый прогресс в отношении меркуриального брелка, следующий, я сделаю, это начать использовать более гранулированные группы и разрешить/запретить путь по каталогу.
более подробная информация по адресу:
http://stackoverflow.com/info/14267873/mercurial-hg-no-changes-found-cant-hg-push-out/14269997#14269997
http://www.linuxquestions.org/info/showthread.php?p=4867412#post4867412
http://stackoverflow.com/info/12503421/hg-push-error-and-username-not-specified-in-hg-hgrc-keyring-will-not-be-used/14270602#14270602
http://stackoverflow.com/info/12468634/opensuse-apache-windows-ldap-group-user-authentication-mercurial/14270648#14270648
если запрашивается несколько раз для учетных данных пользователя в mercurial. Установите Mercurial_Keyring и затем
возникает этот вопрос, который никто не объяснил простым способом.
??? - как сделать
[auth]
xx.prefix = servername/hg_or_something
работать со всеми репозиториями под именем сервера /hg если я использую имя сервера, имя_сервера IP или имя_сервера FQDN?
ОТВЕТ: Арун • 2 минуты назад -
OK, I put this in ~/.hgrc (Linux/Unix -home directory .hgrc hidden file) or Windows users %UserProfile%/mercurial.ini or %HOME%/mercurial.ini file.
[auth]
default1.schemes = http https
default1.prefix = hg_merc_server/hg
default1.username = c123456
default2.schemes = http https
default2.prefix = hg_merc_server.company.com/hg
default2.username = c123456
default3.schemes = http https
default3.prefix = 10.211.222.321/hg
default3.username = c123456
Now, I can checkout using either Server/IP/Server FQDN.