java - LDAP JAVA 和用户密码

标签 java spring ldap openldap

我有一个用 spring-ldap 构建的 JAVA 应用程序,它可以在 openldap 服务器中修改用户的用户密码。我想使用 md5 存储或任何加密技术,但是当我的应用程序修改 userPassword 属性时,base64 哈希似乎被转义了。当我尝试使用新密码对用户进行身份验证时,它会导致“凭据无效”...

例如,当我使用这段代码时:

context.setAttribute(new BasicAttribute("userPassword", "{md5}DMF1ucDxtqgxw5niaXcmYQ=="));
template.modifyAttributes(dn, context.getModificationItems());

然后使用我得到的 Apache Directory Studio 查看 userPassword 属性

{md5}DMF1ucDxtqgxw5niaXcmYQ\=\=

“验证”密码功能成功但未认证。当我使用 Apache Directory Studio 修改散列并删除不必要的“\”字符时,身份验证成功。

是否可以防止 spring-ldap 转义散列密码?这个问题有什么已知的解决方案吗?

谢谢。

最佳答案

如果 LDAP 服务器配置正确,它应该会为您进行哈希处理。您当然应该通过 SSL 发送明文密码。

关于java - LDAP JAVA 和用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23738561/

相关文章:

java - 使用 Mac OSX 获取当前用户的 Active Directory 域名

独立 servlet 容器中的 Spring Boot 应用程序 war

Spring Batch - 验证输入 csv 文件中的标题行,如果文件无效则跳过该文件

java - 是否可以创建使用 Spring Jdbc 和 Mysql 的独立 JavaFx 应用程序

java - java中有没有时间跟踪/监控框架

node.js - 使用 Passport 和 node.js 的 ldap 身份验证绑定(bind)错误

spring - 通过 spring LDAP 进行身份验证,并在数据库中进行额外的安全检查

java - Java 中传递给类的引用的内存分配和共享

java - 自定义基本路径 Play Framework

java - java中如何获取httpPut的响应码