为什么用户可以通过多个 UPN 登录?

为什么用户可以通过多个 UPN 登录?

为了使用声明感知应用程序,我已将公司所有用户的 UPN 后缀从 更改为us.mycompany.localmycompany.com在更改前的测试中,我发现即使我更改了 UPN 后缀,用户也可以使用旧后缀成功进行身份验证。我不明白为什么这仍然有效。

答案1

Ryan 和 Joe 的上述评论非常到位。听起来您的用户正在使用他们的隐式UPN。您的域的 FQDN 是吗us.mycompany.local

在 Active Directory 中,每个用户都有两个 UPN:

  1. 显式 UPN (eUPN):这是用户对象userPrincipalName属性的值。可以将其更改为任意值,无论您在林中配置了什么备用 UPN 后缀。

  2. 隐式 UPN (iUPN):这是通过将用户对象的属性值samAccountName与域的 FQDN 值连接起来构建的。FQDN 存储为存储在)中dnsRoot的域对象的属性值crossRefLDAP://CN=DOMAIN_NETBIOS_NAME,CN=Partitions,CN=Configuration,DC=DOMAIN

DS MVP Jorge de Almeida Pinto 发表了一系列文章,对这一问题进行了更为详细的介绍:

编辑1:

还值得注意的是,如果存在冲突,则 eUPN 会“获胜”。例如,考虑以下(尽管很荒谬)场景:

  • 域名:example.com
  • User1 的 samAccountName:user1
  • 用户 2 的用户主体名称 (eUPN):[email protected]

如果您尝试使用用户名 登录[email protected],您将以 的身份登录User2。但是,如果您将 User2 的用户名更改userPrincipalName为其他任何用户名,您将以 的身份登录User1

编辑2:

更多 MS 信息:MSKB929272:Windows Server 2003 中的交互式登录样式和密钥分发中心帐户查找

答案2

可能是以下两种情况之一:

  1. 新的 UPN 被添加作为备用 UPN,而原来的 UPN 仍然有效。
  2. 旧 UPN 已添加为Domain name (pre-Windows 2000),并将正常运行

转至Active Directory Domains and Trusts并检查 UPN 和 Windows 之前设置。

相关内容