我正在尝试设置 LDAP 身份验证。
群组信息:
ldapsearch -x -h ldap-corporate -b "o=example.com,c=us" "cn=Security "
# extended LDIF
#
# LDAPv3
# base <o=example.com,c=us> with scope subtree
# filter: cn=Security
# requesting: ALL
#
# Security , lm8100, example.com, US
dn: cn=Security , ou=lm8100, o=example.com, c=US
businessCategory: secadm
cn: Security
objectClass: groupOfUniqueNames
objectClass: epicGroup
objectClass: top
uniqueMember: cn=Kim Ldaf + uid=CLKM9876,ou=lm8100,o=example.com,c=US
uniqueMember: cn=HLK MNOIL+uid=DKL06, ou=lm8100,o=example.com,c=us
uniqueMember: cn=TREKS DNKO+uid=RIK02, ou=lm8100,o=example.com,c=US
这是我的配置,它接受所有有效的 LDAP 用户,但我的要求是仅接受该特定组的有效用户:
我们在一个组中有不同的 OU。
<Directory "/opt/hd/wsvr/docs/support/helpdesk">
AllowOverride None
Order deny,allow
Allow from all
AuthType Basic
AuthName "Protected"
Require valid-user
AuthBasicAuthoritative Off
AuthzLDAPAuthoritative Off
AuthBasicProvider ldap
AuthLDAPUrl ldap://HOST/o=example.com,c=us?uid?sub
Require ldap-group cn=SC HelpDesk,o=example.com,c=US
</Directory>
答案1
你有两个Require
指令,它们的含义相互矛盾。
正如 @bodgit 提到的,您有Require valid-user
,它允许所有有效用户。您还有Require ldap-group cn=SC HelpDesk,o=example.com,c=US
,它只允许您的 SC HelpDesk 组的成员。但是,只要任何一个如果满足这些要求,则允许访问。您应该删除该Require valid-user
指令。
答案2
您Require valid-user
的配置允许任何验证成功后的用户进入。