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

19

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

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

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

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

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

Мартин Гайслер
источник
Дубликат: serverfault.com/questions/83718/…
Мартин Гайслер

Ответы:

6

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

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

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

Я надеюсь, что это полезно для людей ...

BenAlabaster
источник
4

Вы можете сделать это с 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.

Этого должно быть достаточно для вас.

Удачи,
Жоао Мигель Невес

jneves
источник
Использование authnz_ldap передает незашифрованные пароли между клиентом и Apache. Я пытаюсь выяснить, как этого избежать, но мне не везет.
LeBleu