【发布时间】:2015-04-07 10:49:02
【问题描述】:
我正在构建一个需要使用 UnboundID 连接到 Active Directory 的应用程序。使用example,我设法将用户与他们的distinguishedName 和password 联系起来。
但是我想只使用domain 和username 对它们进行身份验证,类似于在Windows 中的操作方式。使用名为JXplorer 的工具浏览广告似乎sAMAccountName 可能是我需要的属性。但是,用 sAMAccountName 替换 distinguishedName 会导致 AcceptSecurityContext 错误。使用示例中显示的"uid=..." 语法也会产生相同的错误。
有没有办法只使用域登录,username/sAMAccountName 和 password。或者我是否需要通过 AD 搜索并找到我希望进行身份验证的用户的 distinguishedName,然后使用他们的 distinguishedName 和 password 绑定连接?
【问题讨论】:
-
与在简单绑定中需要 DN 的传统 LDAP 不同,AD 允许在简单绑定中直接使用 sAMAccountName(所以不,您不需要搜索 DN)。但是由于各种原因,使用 LDAP 进行身份验证并不理想。 Jespa 之类的东西是正确的做法,因为它完全模仿了 Windows 对客户端进行身份验证的方式。
-
这是一个有趣的替代方案,如果我们计划使用 AD 来管理用户权限,我可能会研究它。目前这和使用 IE SSO 都不是一个选项,所以它似乎有点矫枉过正。我想知道您是如何设法在简单绑定中使用 sAMAccountName 的。毕竟这是我最初问题的目的。
标签: java active-directory ldap unboundid-ldap-sdk