SVN作为用户apache提交后提交

时间:2016-09-08 09:10:10

标签: apache authentication svn ldap

我们正在使用apache 2.2和钩子脚本来进行额外的活动。

我们唯一的身份验证基于ldap,它运行正常。

现在,特定的提交后尝试以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访问repo(无密码)或使用原始登录凭据的权限对我来说没问题。

亲切的问候, 菲利普

1 个答案:

答案 0 :(得分:0)

问题在于通过http(s)访问SVN-Repository。

您在本地服务器上,因此您可以使用 file:// (根本不进行身份验证),也可以使用cmdline中的--username --password开关提供相关用户名: 例如

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

( - no-auth-cache避免在svns密码存储中保存pw)