我已经使用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);
答案 0 :(得分:0)
documentation没有提及接受加密密码的任何内容。
密码在传输时可能已经加密,但我不知道它是如何工作的。如果您想要更加确定,可以通过LDAPS(LDAP与SSL)连接。 This page(在8.1.1下)使它看起来像用“ldaps://”替换“ldap://”并在服务器名称的末尾添加端口一样简单:
ldaps://myserver.example.com:636
端口636是LDAPS的默认端口。