【问题标题】:Username and Password for LDAP AuthenticationLDAP 身份验证的用户名和密码
【发布时间】:2017-07-31 02:15:23
【问题描述】:
一位客户询问我们是否支持单点登录 (SSO) 的 LDAP 身份验证。我在 Google 上四处搜索并了解了一些关于 LDAP 的知识。
但是,我不明白是否应该对一些将作为应用程序提供给我的凭据运行 bind 操作,然后查找尝试登录的用户,或者我应该调用 @987654322 @ 在用户尝试通过我们的应用程序登录的凭据上,只要凭据有效,我就认为用户已登录。
谢谢。
【问题讨论】:
标签:
authentication
ldap
single-sign-on
【解决方案1】:
分三步完成:
- 以具有足够权限搜索目录的管理用户身份绑定。
- 在目录中搜索用户。这是必要的,因为用户不会提供他的整个 DN:他将提供一些关于他自己的独特信息,例如他的电子邮件地址、“屏幕名称”/绰号/别名等。
- 使用提供的密码凭据以该用户身份绑定。
如果其中任何一个失败,即包括 (2),则表示登录失败,请注意您没有告诉用户是哪一步:您没有告诉他“没有这样的用户”或“无效密码”。您只需告诉他“无效凭据”或两者都类似。否则你就是在向攻击者泄露信息。