Відповіді:
Ну, я почав з цього підручника.
Після того, як я закінчив, я вніс наступні додаткові зміни на сервері (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.
Я хотів би лише додати, що головне, що вам потрібно знати, - це те, що вбудований (швидкий) 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 поза коробкою.