使用Active Directory登录Spring Web应用程序

时间:2016-05-05 10:42:42

标签: spring active-directory ldap sha spring-ldap

我已经使用spring配置了活动目录登录,并且能够进行登录和获取属性,但问题是我必须在AD需要时从浏览器向服务器提交原始密码。

我刚刚检查过,当我从浏览器发布为SHA2编码密码并将其传递给AD登录时,它会导致身份验证失败。由于安全原因,我需要在将密码发布到服务器之前将密码编码为SHA2。有办法解决吗?

AndFilter filter = new AndFilter();
ldapTemplate.setIgnorePartialResultException(true);
                        filter.and(new EqualsFilter("userPrincipalName", authentication.getName()));
boolean authenticateUser = ldapTemplate.authenticate("", filter.toString(),password);

1 个答案:

答案 0 :(得分:0)

documentation没有提及接受加密密码的任何内容。

密码在传输时可能已经加密,但我不知道它是如何工作的。如果您想要更加确定,可以通过LDAPS(LDAP与SSL)连接。 This page(在8.1.1下)使它看起来像用“ldaps://”替换“ldap://”并在服务器名称的末尾添加端口一样简单:

ldaps://myserver.example.com:636

端口636是LDAPS的默认端口。