apache ldap身份验证-我可以使用登录用户凭据进行绑定吗?

um6iljoc  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(141)

我正在针对AD使用ldap身份验证配置Apache。
我无法匿名绑定到LDAP,也不想将绑定用户/密码放在配置文件中。
但是,由于进行身份验证的用户具有绑定的权限,我想知道是否可以提供

  • 验证LDAP绑定DN
  • 验证LDAP绑定密码

动态参数,传递登录的用户/密码,可能使用一些变量魔术

<Directory my/htdocs/ldap >

AuthName "Basic ldap access"
AuthBasicProvider ldap
AuthType Basic

AuthLDAPURL ldap://xxxxxxxxxxxxxxxx:389/ou=for,ou=int,dc=foo,dc=bar,dc=com?sAMAccountName?sub?(ObjectClass=*)

# User for LDAP binding. I cannot bind anonymously
# CAN I USE HERE THE LOGIN CREDENTIALS? 
AuthLDAPBindDN <user>  <-- can I use a variable for the logged in user name?
AuthLDAPBindPassword <password> <-- can I use a variable for the logged in user password?

LDAPReferrals off

Require group ldapUsers
AuthGroupFile "ldap-dbd-groups"
yv5phkfx

yv5phkfx1#

是的,通过在mod_authnz_ldap. so中使用两个指令可以支持它

AuthLDAPInitialBindAsUser
AuthLDAPInitialBindPattern

依照预设,服务器会以匿名方式或使用专用使用者和密码,将基本认证使用者名称转换为LDAP辨别名称(DN)。此指令会胁迫服务器使用内送使用者提供的逐字使用者名称和密码,来执行初始DN搜寻。
示例配置

AuthType Basic
   AuthName "Authorization Realm"
   AuthBasicProvider ldap
   AuthLDAPInitialBindAsUser on
   AuthLDAPInitialBindPattern (.+) $1@DOMAIN
   AuthLDAPURL "ldaps://ldaphost:636/DC=example,DC=com?sAMAccountName"
   Require valid-user

如果您希望使用“Require ldap-group”或其他授权方式,还需要使用Directive

AuthLDAPCompareAsUser on

它使用经过身份验证的用户的凭据进行比较(授权)。

相关问题