![sAMAccountName 需要 DOMAIN\ 进行身份验证](https://linux22.com/image/683629/sAMAccountName%20%E9%9C%80%E8%A6%81%20DOMAIN%5C%20%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我正在尝试将 SLES 与 Windows Active 目录服务器集成以进行身份验证。
我们需要使用 sAMAccountName 作为登录名,但如果我们没有在 ldapsearch 命令上提供 DOMAIN/sAMAccountName,则无法绑定。但任何应用程序的登录窗口都不支持在用户之前提供域名。我已配置 ldap.conf 和 krb5.conf 来提供身份验证。有没有办法将“DOMAIN/”作为 sAMAccountName 的开头作为绑定的默认值?
这工作正常: ldapsearch -x -LLL -h adserver.customer.entp.tgc -D CUSTOMER\EXT123456 -w password -b "dc=customer,dc=entp,dc=tgc"
提前感谢您的回答。
尼诺努尔
答案1
我不知道您的应用程序的详细信息,但听起来它与 Active Directory 不兼容。
阅读公开文档ADS_NAME_TYPE_ENUM。
这些是允许您登录的登录名格式。“EXT123456”不是其中之一。
我知道您认为“EXT123456”是使用 sAMAccountName 登录,但实际上并非如此。请再次查看文档。实际上没有符合“EXT12345”(或“johndoe”)模式的有效登录格式。
仅“用户名”本身并不是有效的登录格式。实际上,对于用户的显示名称。
Active Directory 实际上会尝试将其解析为显示名称。ADS_NAME_TYPE_DISPLAY
。
因此,如果您不能让您的应用程序接受域前缀或 UPN 后缀,或者要求您的用户使用他们的显示名称登录... Active Directory 不会仅仅假设裸字符串“johndoe”是 sAMAccountName。
但您并不孤单。大多数人认为,登录到没有域前缀或 UPN 的 AD 会以某种方式神奇地映射到 sAMAccountName。但事实并非如此。如果您想亲自了解其工作原理,请使用 ldp.exe,并使用显示名称与其 sAMAccountName 不同的用户帐户执行简单绑定,并且不提供域名。哪一个让您进入?是显示名称。