当前位置:  开发笔记 > 开发工具 > 正文

如何限制对特定用户的Apache/SVN访问(基于LDAP /文件的身份验证)?

如何解决《如何限制对特定用户的Apache/SVN访问(基于LDAP/文件的身份验证)?》经验,为你挑选了2个好方法。

我在Windows Server 2003上运行Apache/SVN,通过LDAP/Active Directory和平面文件进行身份验证.

除了任何 LDAP用户都可以访问所有内容之外,它工作得很好.我希望能够按用户或组限制SVN存储库.

理想情况下,我会得到这样的东西:


  # Restricted to ldap-user1, file-user1, or members of ldap-group1,
  # all others denied



  # Restricted to ldap-user2, file-user2, or members of ldap-group2,
  # all others denied

真正的诀窍可能是我有混合身份验证:LDAP和文件:


  DAV svn
  SVNParentPath C:/svn_repository
  AuthName "Subversion Repository"
  AuthType Basic
  AuthBasicProvider ldap file
  AuthUserFile "svn-users.txt" #file-based, custom users
  AuthzLDAPAuthoritative On
  AuthLDAPBindDN ldapuseraccount@directory.com
  AuthLDAPBindPassword ldappassword
  AuthLDAPURL ldap://directory.com:389/cn=Users,dc=directory,dc=com?sAMAccountName?sub?(objectCategory=person)
  Require valid-user


在我的谷歌搜索中,我看到有些人通过authz像这样拉入文件来实现这一点:


  ...
  AuthzSVNAccessFile "conf/svn-authz.txt"


然后,我需要映射AD用户.这种方法的任何例子?



1> Michael Hare..:

这实际上比我想象的容易得多.我把它添加到我的位置:


  ...
  AuthzSVNAccessFile "conf/svn-authz.txt"


在该文件中,我只是指定了正常的SVN权限(此时系统似乎没有区分文件用户和LDAP用户):

[groups]
@admin = haren

###
### Deny all but administrators to the tree
###

[/]
* =
@admin = rw


###
### Allow more specific people on a per-repository basis below
###

[repo1:/]
ldap-user1 = rw
file-user1 = rw

[repo2:/]
ldap-user2 = rw
file-user2 = rw

我仍在使用LDAP组语法来使该部分工作.任何建议都表示赞赏.


嗨,访问控制文件是否也适用于LDAP用户?

2> Shiroi98..:

对于任何感兴趣的人,另一种替代方法:

Require ldap-group cn=SVN Users,cn=Users,dc=company,dc=com

这假设您在Active Directory中创建了一个名为SVN Users的组.请注意,该组周围没有双引号.

使用它代替Require valid-user

然后,您可能无需在任何更改时重新启动Apache,只需将用户添加到AD中的组即可

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有