OpenLDAP和ActiveDirectory身份验证

问题描述:

是否有可能连接到OpenLDAP服务器作为这种形式的活动目录 “用户名@域” 我测试过这种形式,它与活动目录连接,但与openLdap我必须把充分DN。OpenLDAP和ActiveDirectory身份验证

有没有人有任何想法如何修改我的OpenLDAP连接在公元如果有可能

感谢。

+0

OpenLDAP是一个LDAP服务器。 ActiveDirectory是另一个。 '连接到OpenLDAP服务器作为活动目录'因此没有意义。 OpenLDAP不支持'username @ domain'作为绑定名称。您必须首先搜索具有该邮件地址的用户的目录,并将该条目的DN用作绑定名称。 – EJP

如果您希望使用替代绑定名称,如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,您可以配置应由该客户端进行唯一性测试的属性类型。

+0

感谢您的回复,实际上我正在寻找一种方法来寻找一个独特的属性,我的想法是使用uid属性,因为当我尝试添加已在另一个条目中使用的值时,phpldapadmin拒绝保存它,相反当我用java方法添加用户时,它会重复使用重复的uid值。 ??? –

+0

@AnasBenMansour您需要OpenLDAP“独特”覆盖。 – EJP

如果您想要使用相同DN对OpenLDap和AD用户进行身份验证,则需要将代理从openldap服务器添加到AD服务器。

您需要使用back_ldap模块将AD数据库设置为OpenLDap数据库的subordinate

您可以在openldap/ad中为用户的唯一性添加自定义属性,大多数情况下我们会在两侧找到电子邮件属性。