gpt4 book ai didi

java - 使用 String.equals 比较密码并根据 LDAP 服务器对用户进行身份验证,这有意义吗?

转载 作者:行者123 更新时间:2023-12-04 18:00:51 25 4
gpt4 key购买 nike

我正在使用相当古老的大型 CMS (TeamSite),它有一个示例如何将它连接到 LDAP 服务器。我读过这个例子,它以非常奇怪的方式工作。它只是按预期将密码存储在“userPassword”字段中,但它手动执行验证而不是使用绑定(bind)命令。

这对我来说没有意义,但我在这里可能是错的,因为我以前没有使用过 LDAP 服务器。您知道为什么有人愿意手动比较密码而不是使用绑定(bind)吗?

代码如下:

  Attribute attrPassword = attrs.get("userPassword");
if (attrPassword.size() > 0)
{
String storedPassword = new String((byte[])attrPassword.get(0));

if (password.equals(storedPassword))
{
///.....

最佳答案

这对我来说也没有意义。 LDAP 中的密码不应该是实际密码本身,它应该是密码的哈希值。如果您检索该字段并进行比较,您需要知道它使用的是哪种散列,并以相同的方式对您自己比较的密码进行散列。它还要求 LDAP 中的 userPassword 属性可用于检索,我认为这不是必需的。

简而言之,不...我认为您应该使用 bind。

关于java - 使用 String.equals 比较密码并根据 LDAP 服务器对用户进行身份验证,这有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4025610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com