我们使用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>
一切都很好。我被要求将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>
我在这之前花了几个小时才意识到我使用了mod_auth nz _ldap,而不是普通的ol mod_auth_ldap。因此,我需要的ldap-group
,而不是group
在我的Require
发言。这工作。
我的同事告诉我,为什么我们使用mod_auth nz _ldap而不是mod_auth_ldap,但他不记得原因。我们查阅了Apache httpd文档,但文档没有提供为什么您会使用另一个的线索。
那么,mod_auth_ldap和mod_auth nz _ldap 之间有什么区别,为什么你会使用另一个呢?
发布于 2018-04-25 18:37:13
遇到这个问题的其他人。它与新版本的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 Authn / Authz框架的mod_auth_ldap模块的一个端口。新功能包括在Require指令中使用LDAP属性值和复杂的搜索过滤器。
捆绑的认证和授权模块已被重新命名为以下几行:
mod_auth_*
- >实现HTTP认证机制的模块mod_authn_*
- >提供后端身份验证提供程序的模块mod_authz_*
- >实现授权(或访问)的模块mod_authnz_*
- >实现认证和授权的模块https://stackoverflow.com/questions/-100008262
复制相似问题