OpenSUSE Apache - Windows LDAP - групповая аутентификация пользователей - Mercurial
- ОС: OpenSUSE Linux
- Контроль версий: Mercurial Hg
- Веб-фронт: Apache2.2
Я могу нажать кнопку просмотра http: // имя_сервера: порт / hg
Как только я нажимаю на него, он запрашивает учетные данные каталога Windows AD.
Теперь у меня есть следующие репозитории в папке /srv/www/htdocs/hg/repos:
- RepoProjectA
- RepoProjectB
- RepoProjectC
щелкнув по вышеуказанным ссылкам на репозиторий, все в порядке, так как я могу видеть интерфейс Hg.
Теперь я хочу добавить аутентификацию и авторизацию, чтобы:
A)
- Только пользователи "c123456", "c654321" могут фиксировать файлы в RepoProjectA.
- Только пользователи "c222222" и "c333333" могут вносить изменения, и никто больше не может нажимать
Что касается вышеизложенного, какие файлы (???) мне нужно изменить и какие изменения / записи я должен добавить, чтобы это произошло.
PS: я использую LDAP в качестве аутентификации, используя Windows Active Directory. Нужно ли по-прежнему использовать модули htpasswd2 или htdigest2 для создания каких-либо пользовательских файлов - или для предоставления доступа к группе создать любой файл группы???? Я думал, что группы можно взять из того, что уже есть в Active Directory. Поскольку это разные репозитории проектов, нужны ли мне отдельные файлы.htaccess? Разве один глобальный файл не добьется цели?
B)
- Только пользователи "u123456" и "u654321" могут фиксировать файлы в ветви "branch1" RepoProjectB. (при условии, что у нас есть ветвь "branch1" в RepoProjectB).
- Только пользователи "u222222" и "u333333" могут передавать файлы
- Никто не может зафиксировать / отправить что-либо в ветку TRUNK/default
- Исключение: каждый из группы "RepoProjectB-GROUP" или "ABCDGroup" может делать что угодно в этом хранилище или его ветвях.
Что касается вышеизложенного, какие файлы (???) мне нужно изменить и какие изменения / записи я должен добавить, чтобы это произошло.
C) Я пытался использовать приглашение CMD и утилиту TortoiseHg с моего клиентского компьютера с Windows, при выполнении каких-либо операций в Hg (клонирование, ветвление, добавление, фиксация, push и т. Д.) Мне каждый раз предлагается вводить имя пользователя и пароль. Это работает, но я получаю подсказку для каждого действия в Hg.
Как можно ограничить предоставление пользователем учетных данных Windows Active Directory только один раз за сеанс.
Кто-нибудь может поставить немного света.
1 ответ
Некоторый прогресс в работе с Mercurial Keyring, далее я начну использовать более детализированные группы и разрешить / запретить в директиве Directory.
Более подробная информация по адресу:
http://stackru.com/questions/14267873/mercurial-hg-no-changes-found-cant-hg-push-out/14269997#14269997
http://www.linuxquestions.org/questions/showthread.php?p=4867412#post4867412
http://stackru.com/questions/12503421/hg-push-error-and-username-not-specified-in-hg-hgrc-keyring-will-not-be-used/14270602#14270602
http://stackru.com/questions/12468634/opensuse-apache-windows-ldap-group-user-authentication-mercurial/14270648#14270648
если запрашивается несколько раз для учетных данных пользователя в Mercurial. Настройте Mercurial_Keyring, а затем
возникает этот вопрос, который никто не объяснил простым способом.
??? -- как сделать
[авт]
xx.prefix = имя_сервера /hg_or_something
работать для всех репозиториев с именем servername /hg, если я использую имя сервера, имя сервера или полное имя сервера?
ОТВЕТ: Арун • 2 минуты назад -
OK, I put this in ~/.hgrc (Linux/Unix -home directory's .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's FQDN.