2015-12-21 117 views
0

我有一个SVN存储库存储在Apache服务器上。Apache:无法设置简单的SVN用户和访问权限

身份验证是通过SSPI完成的,我试图将其转移到更基本的东西(拥有本地用户名/密码列表)。

的httpd.conf

LoadModule sspi_auth_module modules/mod_auth_sspi.so 
LoadModule actions_module modules/mod_actions.so 
LoadModule alias_module modules/mod_alias.so 
LoadModule asis_module modules/mod_asis.so 
LoadModule auth_basic_module modules/mod_auth_basic.so 
#LoadModule auth_digest_module modules/mod_auth_digest.so 
#LoadModule authn_alias_module modules/mod_authn_alias.so 
#LoadModule authn_anon_module modules/mod_authn_anon.so 
#LoadModule authn_dbd_module modules/mod_authn_dbd.so 
#LoadModule authn_dbm_module modules/mod_authn_dbm.so 
LoadModule authn_default_module modules/mod_authn_default.so 
LoadModule authn_file_module modules/mod_authn_file.so 
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 
#LoadModule authz_dbm_module modules/mod_authz_dbm.so 
LoadModule authz_default_module modules/mod_authz_default.so 
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so 
LoadModule authz_host_module modules/mod_authz_host.so 
#LoadModule authz_owner_module modules/mod_authz_owner.so 
LoadModule authz_user_module modules/mod_authz_user.so 

... 

<Location /svn_toto> 

    DAV svn 
    SVNParentPath D:\web_server\svn_repositories_test 
    AuthzSVNAccessFile D:\web_server\svn_repositories_test\svnaccessfile.txt 
    #Satisfy Any 
    Require valid-user 
    AuthType Basic 
    AuthName "Subversion Repository toto" 
    AuthUserFile D:\web_server\svn_repositories_test\users.txt 

    SVNIndexXSLT "/svnindex.xsl" 

</Location> 

users.txt

[users] 
super = super 
jean = jean 

svnaccessfile.txt

[groups] 
admin = super 

[/] 
@admin = rw 

[cloisonnement:/] 
jean = rw 
super = rw 

[cloisonnement:/trunk] 
jean = rw 
super = rw 

现在,从客户机,我尝试:

svn ls https://servername/svn_toto/cloisonnement/trunk --username super --password super 

而这种失败并问我密码:

Authentication realm: <https://servername:443> Subversion Repository toto 
Username: super 
Password for 'super': ***** 
Authentication realm: <https://servername:443> Subversion Repository toto 
Username: super 
Password for 'super': ***** 
svn: E215004: Unable to connect to a repository at URL 'https://servername/svn_toto/cloisonnement/trunk' 
svn: E215004: No more credentials or we tried too many times. 
Authentication failed 

我在做什么错?

回答

1

你混合SVN内置的明文认证和基本HTTP认证Apache中:

通过声明

Require valid-user 
    AuthType Basic 
    AuthUserFile D:\web_server\svn_repositories_test\users.txt 

指着你的Apache HTTP服务器组织的认证。 将用户添加到您需要执行文件:

htpasswd D:\web_server\svn_repositories_test\users.txt super 
htpasswd D:\web_server\svn_repositories_test\users.txt jean 

的PROGRAMM会提示您输入相应的密码,并将它们存储在user.txt文件,加密。

+0

谢谢彼得。我完全错过了这种凌驾。我绝对不是服务器管理员,只是试图修改我们的存储库访问权限的管理方式.... – jpo38