Могу ли я настроить Mercurial для аутентификации пользователей в Active Directory? В моем случае hg может работать в Windows, Linux или FreeBSD, но мне нужно использовать пользователей AD.
Примечание: если это возможно, укажите мне, пожалуйста, на учебник.
Ну я начал с этот руководство.
После того, как я закончил это, я внес следующие дополнительные изменения на сервере (Windows 2008):
Также необходимо добавить следующие строки в ваш репозиторий .hg\hgrc
файл:
На стороне клиента мне пришлось явно указать имя пользователя и пароль.
[web]
allow_push = *
Если вы ищете интегрированную систему, которая может работать в Windows, Unix и аутентифицироваться в AD / LDAP, попробуйте RhodeCode. http://rhodecode.com Это своего рода локальный экземпляр bitbucket / github, обслуживающий репозитории. Он поставляется с системой разрешений и простым управлением пользователями, обзором кода и т. Д.
Пару месяцев назад я написал сообщение в блоге из 4 частей, которое позволяет вам использовать Active Directory / IIS для размещения веб-сервера Mercurial. Это работает:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Он проведет вас через:
Бен уже дал вам хорошее руководство по настройке Mercurial на IIS с AD.
Я просто хотел бы добавить, что вам нужно знать, что встроенный (Fast) CGI-скрипт в Mercurial не аутентифицирует пользователей. Поставляемый нами сценарий CGI полагается на интерфейсный веб-сервер для аутентификации. Итак, вы должны настроить Apache, IIS, nginx, ... для аутентификации перед они вызывают сценарий. (Однако вы можете использовать отличный RhodeCode если вам нужна система типа Bitbucket с поддержкой LDAP, которую вы также можете подключить к AD.)
Такое разделение задач делает Mercurial очень гибким: если вам нужна аутентификация Active Directory, вы просто используете для этого стандартный плагин для своего веб-сервера. Многие сайты уже имеют эту настройку, поэтому Mercurial "просто работает" :-)
Таким образом, Mercurial никогда не проверяет пароли - часть аутентификации. Но это может сделать разрешение, что означает, что он может разрешать или запрещать пользователям нажимать или извлекать и т. д. Это делается на основе имени пользователя, хранящегося в стандарт REMOTE_USER
Переменная CGI. Веб-сервер должен установить эту переменную после аутентификации удаленного пользователя.
В Mercurial имя пользователя сопоставляется с allow_push
и allow_read
списки в [web]
, чтобы определить, разрешено ли пользователю отправлять или извлекать / клонировать рассматриваемый репозиторий. Конечно, это можно настроить для каждого репозитория, отредактировав .hg\hgrc
файлы в каждом репозитории.
Извините за некропостинг, но я только что выпустил альфа-версию HgLab, который является Mercurial Server для Windows и поддерживает аутентификацию Active Directory из коробки.