簡體   English   中英

Mercurial,Apache,Windows,mod_auth_sspi和hg推送

[英]Mercurial, Apache, Windows, mod_auth_sspi and hg push

我正在Windows域下的Windows框上的Apache 2.2.15下使用Mercurial 1.6,它作為中央回購服務器運行,選擇的人員將擁有提交權限。

我試圖通過限制通過sspi_auth_module訪問Apache的/ cgi-bin /來選擇用戶來限制對Mercurial的訪問。

如果我在sspi_auth_module上對/ cgi-bin /實施了限制,瀏覽到回購頁面,則會提示我輸入用戶名和密碼,並且可以正常使用。

如果我嘗試使用CLI“ hg push”從本地存儲庫通過命令行提交到服務器,則該命令將很快終止,並顯示以下消息:

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

我想讓域控制器擔心身份驗證(對我來說,這比每個人都記住額外的密碼要好!)-這是可行的方法嗎?

我找到了解決方案。 我懷疑部分問題是我未指定SSPIDomain誤將其用於AuthName ... duh)

無論如何,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>

我將自己刪除為必需的用戶,被提示輸入用戶名和密碼,並且無法進行身份驗證。 然后,我又添加了自己,並能夠進行身份驗證。

感謝您的光臨!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM