Mercurial (hg) с активным каталогом


15

Могу ли я настроить Mercurial для аутентификации пользователей в Active Directory? В моем случае hg может работать на Windows, Linux или FreeBSD, но мне нужно использовать пользователей AD.

Примечание: если это возможно, пожалуйста, укажите мне учебник.

Ответы:


11

Ну, я начал с этого урока.

После этого я сделал следующие дополнительные изменения на сервере (Windows 2008):

  • Настроил IIS для использования SSL;
  • Отключена анонимная аутентификация для сайта;
  • Включена базовая и Windows аутентификация для сайта;
  • Настроил разрешения NTFS для папки репозитория.

Также необходимо добавить следующие строки в .hg\hgrcфайл вашего хранилища :

На стороне клиента мне пришлось явно указать имя пользователя и пароль.

[web]
allow_push = *

5

Если вы ищете какую-то интегрированную систему, которая может работать на Windows, Unix и аутентифицироваться в AD / LDAP, попробуйте RhodeCode http://rhodecode.com Это своего рода локальный экземпляр bitbucket / github, который обслуживает репозитории. Он поставляется с системой разрешений и простым управлением пользователями, проверкой кода и т. Д.


Yay для RhodeCode! :-)
Мартин Гейслер

4

Пару месяцев назад я написал пост в 4 частях, в котором вы можете использовать Active Directory / IIS для размещения веб-сервера Mercurial. Это работает удовольствие:

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

Он проведет вас через:

  • Настройка Mercurial в IIS
  • Настройка расширений ISAPI для Python
  • ISAPI переписать, чтобы скрыть некрасивые URL
  • Настройка привилегий безопасности с использованием Active Directory
  • Настройка веб-интерфейса

+1, отличное сообщение в блоге. Мы пилотируем Mercurial для наших проектов Windows и Linux. Есть ли вероятность, что вы будете обновлять это руководство для IIS 7.5?
Джскотт

Я буду, как только я доберусь до обновления моего сервера.
BenAlabaster

3

Бен уже дал вам хорошее руководство по настройке 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файлы в каждом хранилище.


0

Извините за некропост, но я только что выпустил альфа-версию HgLab , который является Mercurial Server для Windows и поддерживает аутентификацию Active Directory из коробки.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.