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, який обслуговує сховища. Він оснащений системою дозволів та легким керуванням користувачами, переглядом коду тощо.


Так, для 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?
jscott

Я колись обійдуся оновленням свого сервера.
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.