OpenLDAP和ActiveDirectory身份验证
是否有可能连接到OpenLDAP服务器作为这种形式的活动目录 “用户名@域” 我测试过这种形式,它与活动目录连接,但与openLdap我必须把充分DN。OpenLDAP和ActiveDirectory身份验证
有没有人有任何想法如何修改我的OpenLDAP连接在公元如果有可能
感谢。
如果您希望使用替代绑定名称,如userPrincipalName(username @ realm)和openLDAP,则需要在版本2.4中使用重写/重映射覆盖slapo-rwm。
一个非常简单的例子是:
# Typed and not tested!
rwm-rewriteEngine on
rwm-rewriteContext addName
rwm-rewriteRule "(.*)" "userPrincipalName=$1" ":"
rwm-rewriteMap ldap upn2dn "ldap://host/dc=my,dc=org?dn?sub"
rwm-rewriteContext bindDN
rwm-rewriteRule ".*" "${upn2dn($0)}" ":@I"
编辑
拜读您的评论的问题:LDAP的协议没有唯一性的概念,它是一个产品的功能。例如,使用OpenLDAP,您可以使用唯一覆盖来为合适的后端中的某些属性类型实施唯一性。通过phpLDAPAdmin,您可以配置应由该客户端进行唯一性测试的属性类型。
感谢您的回复,实际上我正在寻找一种方法来寻找一个独特的属性,我的想法是使用uid属性,因为当我尝试添加已在另一个条目中使用的值时,phpldapadmin拒绝保存它,相反当我用java方法添加用户时,它会重复使用重复的uid值。 ??? –
@AnasBenMansour您需要OpenLDAP“独特”覆盖。 – EJP
如果您想要使用相同DN对OpenLDap和AD用户进行身份验证,则需要将代理从openldap服务器添加到AD服务器。
您需要使用back_ldap
模块将AD数据库设置为OpenLDap数据库的subordinate
。
您可以在openldap/ad中为用户的唯一性添加自定义属性,大多数情况下我们会在两侧找到电子邮件属性。
OpenLDAP是一个LDAP服务器。 ActiveDirectory是另一个。 '连接到OpenLDAP服务器作为活动目录'因此没有意义。 OpenLDAP不支持'username @ domain'作为绑定名称。您必须首先搜索具有该邮件地址的用户的目录,并将该条目的DN用作绑定名称。 – EJP