Назад | Перейти на главную страницу

Настройка Mercurial с аутентификацией и авторизацией Active Directory

Я оцениваю возможности перевода моей организации на Mercurial, однако я натыкаюсь на два основных требования, на которые я не могу найти подходящих указателей.

Как мне настроить центральный репозиторий Mercurial для аутентификации пользователей с помощью центральной Active Directory и разрешить им отправлять или извлекать только если у них есть правильные учетные данные?

Как мне настроить репозиторий проекта Mercurial, чтобы разрешить пользователям, принадлежащим к определенной группе, отправлять / извлекать исходный код? Нам это нужно, чтобы иметь авторизацию для каждого проекта.

На каких HTTP-серверах (IIS или Apache и т. Д.) Поддерживаются два вышеуказанных требования?

Приносим извинения, если я спрашиваю что-то очевидное или мне не хватает чего-то фундаментального о том, как работают аутентификация и авторизация.

Я сделал сообщение в блоге из четырех частей, посвященное настройке Mercurial на IIS с аутентификацией Active Directory и использованием hgwebdir.cgi для push-авторизации. Он охватывает весь процесс:

  • Настройка веб-интерфейса Mercurial hg на IIS.
  • Настройка аутентификации IIS для Mercurial, чтобы только пользователи, авторизованные активным каталогом (то есть группы / пользователи безопасности), могли просматривать / получать доступ к репозиториям либо через веб-интерфейс hg, либо через файловую систему.
  • Настройка аутентификации Active Directory для пользователей Mercurial, чтобы только авторизованные пользователи могли видеть / получать доступ к репозиториям, к которым у них есть доступ.
  • Настройка hgwebdir.cgi через hgweb.config для установки push-авторизации для определенных пользователей в репозитории.
  • Скрытие hgwebdir.cgi с помощью Helicon ISAPI Rewrite в URL-адресе вашего репозитория.
  • Настройка стиля и внешнего вида веб-интерфейса пользователя hg по своему вкусу.

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

Надеюсь, людям это пригодится ...

Вы можете сделать это с помощью Apache. Узнайте, как ограничить отправку в Apache по адресу:

http://mercurial.selenic.com/wiki/PublishingRepositories#pushing

Выше в том же файле описано, как настроить mercurial, его разрешения и всех пользователей, которым разрешен Apache.

После установки Mercurial и Apache вы можете использовать mod_authnz_ldap, чтобы разрешить доступ только пользователям Active Directory:

http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html

Не забудьте проверить параграф о конфигурации Active Directory.

Тебе должно хватить.

Удачи,
Жуан Мигель Невеш