我有一个从微软活动目录同步的Ldap目录。
此Ldap包含许多帐户,每个帐户都有一个密码属性。
我必须开发一个java程序,用户必须使用他的AD登录名和密码进行登录,但我不知道用于正确加密所输入密码的方法。
我需要它与ldap密码进行比较。
我还需要使用相同的密码加密绑定新帐户。
任何人都知道该怎么办?
答案 0 :(得分:1)
首先,您可以使用带有SSL的BIND,但这被认为是一种蹩脚的方式,并且可能在某些系统上被禁用。一种真正安全的方式是使用SPNEGO-GSS,这并非易事。您必须学习并了解Kerberos。这是一个很长的话题,但你可以从reading and going through everything here
开始答案 1 :(得分:1)
我找到了春天的解决方案,
这里测试登录/传递夫妇的方法:
AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("objectclass", "person")).and(new EqualsFilter("cn", login));
boolean authentifie = ldapTemplate.authenticate(DistinguishedName.EMPTY_PATH, filter.toString(), password);