sAMAccountName 需要 DOMAIN\ 进行身份验证

sAMAccountName 需要 DOMAIN\ 进行身份验证

我正在尝试将 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 不同的用户帐户执行简单绑定,并且不提供域名。哪一个让您进入?是显示名称。

相关内容