我想知道是否可以设置 SVN(在 Apache 上)以允许 LDAP 身份验证远程用户。即这些用户未登录到域。SVN 客户端是否会提示输入域\用户名,然后根据配置的 Active Directory 进行身份验证?(而不是仅传递当前用户的身份验证,可能通过登录到本地计算机进行身份验证。)
更新
我实际上更感兴趣的是,如果使用当前登录的用户失败,svn 客户端是否会提示用户输入域凭据。我已阅读有关如何设置服务器的信息,以及丛林很有帮助。但是,通常,这意味着用户位于正确的域中,并且他们已登录到该域。我的偏僻的用户不会。即他们将登录到本地计算机(无域)并需要提供其域凭据(域、用户名和密码)。这可能吗?即(任何)svn 客户端都可以支持此功能吗?
答案1
可以在 Apache 上执行身份验证auth_basic
,authnz_ldap
并authz_svn
启用它。
以下配置适用于 OpenLDAP 服务器,但应该可以轻松地与 Active Directory 配合使用。
<Location /r>
DAV svn
SVNParentPath /home/svn/repos
AuthzSVNAccessFile /home/svn/users/access
AuthType Basic
AuthBasicProvider ldap
AuthName "My Company Inc."
AuthLDAPBindDN "uid=binduser,ou=,ou=systems,dc=company,dc=com"
AuthLDAPBindPassword "XXXXXXX"
AuthLDAPURL "ldaps://ldap.company.com/ou=people,dc=company,dc=com?uid?sub?(objectClass=inetOrgPerson)"
Require valid-user
</Location>
仅通过在指令中指定文件才可以进行授权AuthzSVNAccessFile
,并且至少据我所知不能基于 LDAP 组成员身份。