仅对 LDAP 中的组用户进行身份验证

仅对 LDAP 中的组用户进行身份验证

我正在尝试设置 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的配置允许任何验证成功后的用户进入。

相关内容