Java-> LDAP账户密码加密

发布于 2024-11-05 02:03:35 字数 223 浏览 4 评论 0原文

我有一个从 Microsoft Active Directory 同步的 Ldap 目录。

这个Ldap包含很多账户,每个账户都有一个密码属性。

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

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

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

有人知道该怎么办吗?

I have an Ldap directory synchronised from a microsoft active directory.

This Ldap contain many account, each account have a password attribute.

I must develop a java program where a user have to log with his AD login and password, but i don't know the method employed to correctly encrypt the password typed.

I need it to compare with the ldap password.

I also need to bind new account with the same password encryption.

Anyone know how to do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悲歌长辞 2024-11-12 02:03:35

首先,您可以使用带有 SSL 的 BIND,但这被认为是一种蹩脚的方法,并且可能在某些系统上被禁用。真正安全的方法是使用 SPNEGO-GSS,这并不简单。您必须学习并理解 Kerberos。这是一个很长的主题,但您可以从阅读并浏览此处的所有内容开始

Well first of all you can use a BIND with SSL, but that's considered kind of the lame way to go about it and may be disabled on some systems. A truly secure way is using SPNEGO-GSS, and this is not trivial. You have to learn and understand about Kerberos. That's a long topic but you can start with reading and going through everything here

我的影子我的梦 2024-11-12 02:03:35

我已经找到了 spring 的解决方案,

这里是测试登录/通过夫妇的方法:

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

I've found the solution with spring,

here the method to test login/pass couple :

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文