Java - > LDAP帐户密码加密

时间:2011-05-05 08:38:00

标签: java spring encryption passwords ldap

我有一个从微软活动目录同步的Ldap目录。

此Ldap包含许多帐户,每个帐户都有一个密码属性。

我必须开发一个java程序,用户必须使用他的AD登录名和密码进行登录,但我不知道用于正确加密所输入密码的方法。

我需要它与ldap密码进行比较。

我还需要使用相同的密码加密绑定新帐户。

任何人都知道该怎么办?

2 个答案:

答案 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);