为了使用声明感知应用程序,我已将公司所有用户的 UPN 后缀从 更改为us.mycompany.local
。mycompany.com
在更改前的测试中,我发现即使我更改了 UPN 后缀,用户也可以使用旧后缀成功进行身份验证。我不明白为什么这仍然有效。
答案1
Ryan 和 Joe 的上述评论非常到位。听起来您的用户正在使用他们的隐式UPN。您的域的 FQDN 是吗us.mycompany.local
?
在 Active Directory 中,每个用户都有两个 UPN:
显式 UPN (eUPN):这是用户对象
userPrincipalName
属性的值。可以将其更改为任意值,无论您在林中配置了什么备用 UPN 后缀。隐式 UPN (iUPN):这是通过将用户对象的属性值
samAccountName
与域的 FQDN 值连接起来构建的。FQDN 存储为存储在)中dnsRoot
的域对象的属性值crossRef
LDAP://CN=DOMAIN_NETBIOS_NAME,CN=Partitions,CN=Configuration,DC=DOMAIN
DS MVP Jorge de Almeida Pinto 发表了一系列文章,对这一问题进行了更为详细的介绍:
- https://jorgequestforknowledge.wordpress.com/2010/10/12/user-principal-names-in-ad-part-1
- https://jorgequestforknowledge.wordpress.com/2010/10/12/user-principal-names-in-ad-part-2
- https://jorgequestforknowledge.wordpress.com/2010/10/12/user-principal-names-in-ad-part-3
编辑1:
还值得注意的是,如果存在冲突,则 eUPN 会“获胜”。例如,考虑以下(尽管很荒谬)场景:
- 域名:
example.com
- User1 的 samAccountName:
user1
- 用户 2 的用户主体名称 (eUPN):
[email protected]
如果您尝试使用用户名 登录[email protected]
,您将以 的身份登录User2
。但是,如果您将 User2 的用户名更改userPrincipalName
为其他任何用户名,您将以 的身份登录User1
。
编辑2:
更多 MS 信息:MSKB929272:Windows Server 2003 中的交互式登录样式和密钥分发中心帐户查找
答案2
可能是以下两种情况之一:
- 新的 UPN 被添加作为备用 UPN,而原来的 UPN 仍然有效。
- 旧 UPN 已添加为
Domain name (pre-Windows 2000)
,并将正常运行
转至Active Directory Domains and Trusts
并检查 UPN 和 Windows 之前设置。