问题描述
我有一个 SVN 服务器,我想使用我们的 LDAP 服务器进行用户身份验证.现在我正在为每个存储库指定用户名和密码,这工作正常,但更多人决定使用此服务器.而且我真的不应该访问他们的密码.我想使用 LDAP 对用户进行身份验证,并且我想授予整个域的访问权限,而不是单独指定用户.
I have an SVN server, and I'd like to use our LDAP server for user authentication. Right now I'm specifying usernames and passwords per repository, which is working OK, but more people are deciding to use this server. And I really shouldn't have access to their passwords. I'd like to use LDAP to authenticate users, and I want to grant access rights to a whole domain rather than specify users individually.
一些(可怕的)细节:
- SVN 在 Windows XP 机器上运行.:-(
- 我同时拥有 svnserve 和 http 访问权限,但后者是一个非常小的问题.
- 我的 LDAP 知识很少(这可能就是我问这个问题的原因.)
最后,如果这完全是个坏主意,或者如果有更好的解决方案,我会很感兴趣.
Finally, if this is a bad idea entirely, or if there's a better solution I would be interested in hearing it.
谢谢!
推荐答案
每当您访问以 svn://
开头的 URL 时,都会使用 svnserve.所有以 http://
或 https://
开头的 URL 都由 Apache 处理.所有的 Subversion 客户端都应该能够处理它们,而且 TortoiseSVN 肯定不会对它们有任何问题.
svnserve is used whenever you access URLs starting with svn://
. All URLs that start with http://
or https://
are handled by Apache. All Subversion clients should be able to handle both of them, and TortoiseSVN doesn't have a problem with them for sure.
将您的 Apache 配置更改为以下内容:
Change your Apache config to something like this:
<Location /svn>
AuthName "My repository"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain MYDOMAIN
SSPIOmitDomain On
SSPIOfferBasic On
SSPIUsernameCase lower
Require valid-user
DAV svn
SVNListParentPath on
SVNParentPath D:/path/to/repos
AuthzSVNAccessFile D:/path/to/accessfile
</Location>
这篇关于使用 LDAP 进行 SVN 用户认证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!