我们使用LDAP来使用Apache httpd进行Subversion访问.我们最初使用以下所有用户都可以访问所有Subversion存储库:
<Location /src>
DAV svn
SVNParentPath /opt/svn_repos
AuthType basic
AuthName "SVN Repository"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap.mycorp.com:3268/dc=mycorp,dc=com?sAMAccountName" NONE
AuthLDAPBindDN "CN=svn_acct,OU=Users,DC=mycorp,DC=com"
AuthLDAPBindPassword "swordfish"
Require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
一切都很好.我被要求将CM存储库移动到其他位置,并使其仅供CM组中的人员访问.我做了以下事情:
<Location /cm>
DAV svn
SVNPath /opt/cm_svn_repos
AuthType basic
AuthName "CM Repository"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap.mycorp.com:3268/dc=mycorp,dc=com?sAMAccountName" NONE
AuthLDAPBindDN "CN=svn_acct,OU=Users,DC=mycorp,DC=com"
AuthLDAPBindPassword "swordfish"
Require group CN=cm-group,OU=Groups,DC=mycorp,DC=com
</Location>
Run Code Online (Sandbox Code Playgroud)
我花了几个小时才意识到我在使用mod_auth nz _ldap而不是普通的'mod_auth_ldap'.因此,我需要ldap-group而不是group在我的Require陈述中.那很有效.
我的同事告诉我,有一个原因我们使用mod_auth nz _ldap而不是mod_auth_ldap,但他不记得为什么.我们查找了Apache httpd文档,但是文档没有提供任何线索,为什么你要使用另一个.
那么,mod_auth_ldap和mod_auth nz _ldap 之间的区别是什么,为什么你要使用另一个呢?
Dav*_* W. 26
遇到这个问题的其他人.它与更新版本的Apache httpd有关.我的困惑源于httpd的版本2.1和2.2之间的变化.因为我有Apache 2.2,所以我想使用新的框架:
mod_auth_ldap 适用于2.2之前的Apache版本mod_authnz_ldap 适用于Apache 2.2及更高版本.aaa目录中的模块已重命名,可为摘要式身份验证提供更好的支持.例如,
mod_auth现在分为mod_auth_basic和mod_authn_file;mod_auth_dbm现在被称为mod_authn_dbm;mod_access已重命名mod_authz_host.还有一个新的mod_authn_alias(已从2.3/2.4中删除)模块,用于简化某些身份验证配置.
该模块是2.2 mod_auth_ldap模块到2.2 Authn/Authz框架的端口.新功能包括在Require指令中使用LDAP属性值和复杂的搜索过滤器.
捆绑的身份验证和授权模块已按以下行重命名:
mod_auth_*- >实现HTTP身份验证机制的模块mod_authn_*- >提供后端身份验证提供程序的模块mod_authz_*- >实现授权(或访问)的模块mod_authnz_*- >实现身份验证和授权的模块
| 归档时间: |
|
| 查看次数: |
11926 次 |
| 最近记录: |