我在做什么…
试图为我们组织的所有机器,博客,wiki,CRM,HRM,项目pipe理工具,SVN等等实施单点login…
我们在运行CentOS的专用服务器上安装并configuration了OpenLDAP。 我使用phpLdapAdmin来添加组织结构和有关各种用户,客户端,资源的信息。
一个用户的示例条目…
DN是:: cn = Bill Gates,ou =用户,dc = example,dc = com
userid :: bill.gates
mail :: [email protected]
userpassword :: as2%$%66789ds(一些md5神秘值)
我现在在哪里
OpenLDdap工作正常。 绑定testing也成功运行。
我想做的事…
绑定使用更高权限的用户,然后通过他们input的用户标识或邮件search用户,这些用户标识或邮件与CN稍有不同。 点是我想validation用户对不属于RDN的属性。
我卡在哪里…
我的问题(最后)
我最关心的是要采取一种方法,可以很容易地使用大多数应用程序。 有许多基于networking的应用程序,桌面软件等,我们将在我们的任务单点login期间修改!
感谢阅读…并提前感谢一些帮助!
-Rahul
关于第一个问题:
我已经与另一个LDAP系统合作,允许针对各种用户属性进行“login”。 解决scheme是做两个连接。 第一个连接(可能是匿名绑定的)使用用户提供的信息查询LDAP,以find其用户对象的RDN。 第二个连接尝试使用发现的RDN和提供的密码绑定密码。 这是一个两步的过程,它的工作原理。
虽然,如果这个应用程序将获得很多login提供的属性,而不是RDN本身,这将是一个真正的好主意,索引这些属性。 这是一个表演的事情。
二:
据我所知,OpenLDAP支持LDAP-SSL(TCP / 636),这可能比HTTPS隧道更好。 默认情况下,LDAP绑定是明确的,但有LDAP扩展允许其他方法。 活动目录允许NTLM的LDAP绑定的例子,我敢肯定,LDAP已经kerberized以及在某些时候。 我不知道openLDAP支持什么方法。
三:
我有属性中具有“[email protected]”格式电子邮件的LDAP源。 哪里有更多的命名属性,这就是我的openLDAP体验平坦的地方。 我不知道这是什么支持。 我知道Active Directory允许命名属性中包含空格,而Novell eDirectory同时允许空格和句点(尽pipe不build议这样做)。 通常,命名属性是userID,像givenName,surname和emailAddress这样的属性包含特殊字符。 因为它们不是命名属性,所以它们没有相同的限制。
恐怕我不知道OpenLDAP是否足够帮助它,但是我想知道它是否具有类似于您可以使用的OpenDS 身份映射function的function 。
这个想法是,客户端可以使用自定义标识来标识自己,然后映射使用正则expression式将其与用户条目上的任何其他属性进行匹配。 在OpenDS中,这似乎使用SASL选项,所以使用他们的工具,我可以提供如下选项:
bin/ldapsearch --saslOption authid=u:dominic --saslOption mech=PLAIN [..]
身份映射器然后使用身份validationID,在这种情况下匹配我的用户条目上的uid属性。
希望有所帮助!