2016-09-08 45 views
0

我们使用apache 2.2和钩子脚本来提供额外的活动。作为用户apache的SVN后提交

我们唯一的身份验证是基于ldap,它工作正常。

现在特定的post-commit试图运行为apache。但是这个用户不存在于LDAP中。我收到以下错误信息:

[Thu Sep 08 09:57:51 2016] [warn] [client <IP>] [24570] auth_ldap authenticate: user apache authentication failed; URI /repo [User not found][No such object] 
[Thu Sep 08 09:57:51 2016] [error] [client <IP>] user apache not found: /repo 
[Thu Sep 08 09:57:51 2016] [warn] [client <IP>] [24574] auth_ldap authenticate: user apache authentication failed; URI /repo/path/trunk [User not found][No such object] 
[Thu Sep 08 09:57:51 2016] [error] [client <IP>] user apache not found: /repo/path/trunk 

这里是认证的定义:

AuthType Basic 
AuthBasicProvider ldap 
AuthzLDAPAuthoritative On 
AuthName "Reponame" 
AuthLDAPURL "..." 
AuthLDAPBindDN "..." 
AuthLDAPBindPassword ... 
AuthLDAPGroupAttribute member 

# Read-Only 
<Limit GET PROPFIND OPTIONS REPORT> 
    Require ldap-group CN=... 
    Require ldap-group CN=... 
</Limit> 
# Read-Write 
<LimitExcept GET PROPFIND OPTIONS REPORT> 
    Require ldap-group CN=... 
</LimitExcept> 

Order deny,allow 
Allow from all 

这两种解决方案:授予对回购(无密码)用户Apache访问或使用原始登录 - 凭证对我来说可以。

亲切的问候, 菲利普

回答

0

问题在于通过HTTP(S)访问SVN的仓库。

你是在本地服务器上,以便您可以使用文件://(无身份验证的话),或者您提供有问题的用户名与CMDLINE --username --password开关: 例如

svn ls http://svn.example.com/repo --username foo --password bar --no-auth-cache 

(该--no-auth的缓存避免保存PW IN svns密码存储)

+0

谢谢你的建议。我用svnserve和svn解决了这个问题:// – pwe