[英]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.