2010-07-29 80 views
1

我正在Apache 2.2.15下的Windows下的Windows域中运行Mercurial 1.6,作为中央repo服务器运行,选择人员将提交权限。Mercurial,Apache,Windows,mod_auth_sspi和hg push

我想通过限制访问Apache的/ cgi-bin /通过sspi_auth_module选择用户来限制对Mercurial的访问。

如果我浏览到带有sspi_auth_module的repo页面,在/ 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库:/汞柱)

[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> 

我删除了自己作为一个需要的用户,被提示输入用户名和密码,无法进行身份验证。然后我加回自己,并能够确认。

感谢您的期待!

相关问题