2010-07-29 2 views
1

Я играю с Mercurial 1.6 под Apache 2.2.15 на ящике Windows под доменом Windows, работающем как центральный сервер репо, на который выбирают людей, которые будут иметь разрешения на фиксацию.Mercurial, Apache, Windows, mod_auth_sspi и hg push

Я пытаюсь ограничить доступ к Mercurial, ограничив доступ к Apache/cgi-bin/для выбора пользователей через sspi_auth_module.

Если я перейду на страницу репо с помощью sspi_auth_module, налагающих ограничения на/cgi-bin /, мне будет предложено ввести имя пользователя и пароль, который будет принят, и все будет хорошо.

Если я пытаюсь использовать CLI «рт.ст. толчок», чтобы совершить от моего локального репозитория на сервер из командной строки, то команда завершается очень быстро с сообщением:

abort: authorization failed 

Если удалить/cgi-bin/ограничения, толкающие работы.

Соответствующий раздел httpd.conf: (имена отредактированные)

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> 
AllowOverride None 
Options None 
Order allow,deny 
Allow from all 
AuthName "XXXXXX" 
AuthType SSPI 
SSPIAuth On 
SSPIAuthoritative On 
SSPIOmitDomain On 
Require user "xxxxxx" 
</Directory> 

Соответствующий раздел моего файла hgweb.config (репозитории хранятся в C:/Hg)

[collections] 
C:/Hg = C:/Hg 

[web] 
allow_push = * 
push_ssl = false 
allow_archive = bz2 gz zip 

Я d хотел бы позволить контроллеру домена беспокоиться об аутентификации (для меня это лучше, чем все запоминать лишние пароли!) - это жизнеспособный подход?

ответ

1

Я нашел решение. Я подозреваю, что часть проблемы в том, что у меня не было SSPIDomain указано (приняв его за AuthName ... Дух)

Во всяком случае, следующее в httpd.conf сделал трюк: (директива ScriptAlias ​​там от начало, BTW)

ScriptAlias /hg "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/hgweb.cgi" 

<Location /hg> 
AuthName "Mercurial Authentication" 
AuthType SSPI 
SSPIAuth On 
SSPIAuthoritative On 
SSPIDomain XXXXXX 
SSPIOmitDomain On  
SSPIOfferBasic On 
SSPIBasicPreferred Off 
Require user "xxxxxx" 
</Location> 

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

Спасибо, что посмотрели!

Смежные вопросы