Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过LDAP目录的应用程序身份验证过程是如何工作的_Ldap_Openldap - Fatal编程技术网

通过LDAP目录的应用程序身份验证过程是如何工作的

通过LDAP目录的应用程序身份验证过程是如何工作的,ldap,openldap,Ldap,Openldap,我是LDAP新手。也许这个问题看起来很奇怪,但在互联网上我看到了不同的版本。请帮助了解通过LDAP进行正确身份验证的方式。我有一个LDAP目录,其中用户密码存储为散列。我知道使用LDAP目录对第三方应用程序进行身份验证的两种方法: LDAP端的身份验证检查。使用“bind”函数以纯文本形式传递用户的DN和密码。如果绑定成功,则进行用户身份验证,否则不会 应用程序端的身份验证检查。使用函数“bind”,我们以管理员的身份连接到目录。我们正在寻找合适的用户并获取他的记录。我们解析密码字段,隔离散列算

我是LDAP新手。也许这个问题看起来很奇怪,但在互联网上我看到了不同的版本。请帮助了解通过LDAP进行正确身份验证的方式。我有一个LDAP目录,其中用户密码存储为散列。我知道使用LDAP目录对第三方应用程序进行身份验证的两种方法:

  • LDAP端的身份验证检查。使用“bind”函数以纯文本形式传递用户的DN和密码。如果绑定成功,则进行用户身份验证,否则不会
  • 应用程序端的身份验证检查。使用函数“bind”,我们以管理员的身份连接到目录。我们正在寻找合适的用户并获取他的记录。我们解析密码字段,隔离散列算法的类型(例如{CRYPT})。我们使用适当的算法对用户输入的密码进行哈希。如果哈希值相同,则验证成功,否则不成功。(也就是说,应用程序必须维护适当的哈希算法)

  • 哪个选项最正确?对于声称支持LDAP身份验证的任何供应商系统,哪种方式被视为标准?

    您将希望使用选项1

    方案2有一些缺点:

  • 您需要一个管理员帐户,可以读取密码,以便能够将它们与您散列的密码进行比较。这意味着应用程序能够读取散列的密码。我认为这是个坏主意。<李>
  • 您将绕过实施的其他安全措施。您正在检查的密码可能是正确的。但由于其他策略,用户可能被锁定,因此无法登录。失败的尝试将不计入可能的锁定
  • 散列算法将来可能会更改为您尚未实现的算法
    您可能能够绕过这些障碍,但您将需要传统的代码来实现这一点。这项工作已经完成,并且在您使用选项1授权或身份验证时随时可用?你两个都提到了。他们不是一回事。是的,对不起。我是说认证。主要问题是供应商系统(如postfix、cisco wifi)如何使用LDAP。我有一个使用第二种方法的websphere应用程序,这让我感到困惑。我想这是一个例外。所以请相应地编辑您的问题和标题。我应该补充一点,您应该在任何情况下使用安全的LDAP连接来保护传输的密码!