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.
Другие вопросы по тегам