active-directory - LDAP Active Directory 是否可以具有不同的 sn 和 givenName 但名称相同
问题描述
一个 ldap 活动目录是否可以有两个用户,其名称如下: John Smith, Lin (givenName = Lin, sn= John Smith) John, Smith Lin (givenName = smith Lin, sn = John)
解决方案
在开始回答您的问题之前,我建议您参考Active Directory 中对象的名称链接:
...如果在“Active Directory 用户和计算机”MMC 中创建用户对象,则名称默认如下。您指定用户的“First Name”、“Initials”和“Last Name”(“givenName”、“initials”和“sn”属性)。
标有“全名”的字段默认为“givenName initials sn”。该字符串被分配给“cn”属性(Common Name)。您可以覆盖默认值。...
现在,来回答你的问题:
- 一个 ldap 活动目录是否可以有两个用户,其名称如下: John Smith, Lin (givenName = Lin, sn= John Smith) John, Smith Lin (givenName = smith Lin, sn = John)
答:用户的 RDN 是其规范名称或 cn 属性的值。与其他目录对象一样,用户对象具有 cn、name、distinguishedName 和 objectGUID 形式的名称。专有名称 (DN) 是唯一的,它们明确地标识目录中的对象。
目录服务器不允许在同一父级或容器下具有相同相对 DN (RDN) 的两个对象。DN 由 RDN 及其容器路径组成。因此RDN的唯一性保证了DN的唯一性。
所以,最后回答,这取决于创建这些对象的路径/容器。如果在同一个 OU/容器中创建这 2 个用户,并且如果 cn 评估为相同的值,则不允许您创建具有相同名称的第二个用户。
如果这 2 个用户是在不同的容器/OU 中创建的,那么您可以轻松地创建它们。对于域或林中的用户对象,以下值是唯一的:
- userPrincipalName - UPN 在目录林中的所有安全主体对象中必须是唯一的。
- objectGUID - GUID 在整个企业和其他任何地方都是唯一的。
- sAMAccountName - sAMAccountName 在域内的所有安全主体对象中必须是唯一的。
- objectSid - objectSid 在域中是唯一的。
- sIDHistory - ObjectSid 在每个域中都是唯一的,并且 sIDHistory 属性包含来自用户先前域移动的 SID。
推荐阅读
- typescript - 如何从类型中提取不可为空的属性名称?
- django - Django表单:如何在下拉列表中仅显示与用户关联的对象
- python - 在数据帧上乘向量 - 向量化
- javascript - 如何使用 web 服务从 asp.net 中的数据库中填充“选择”
- python - 如何从 setup_require 依赖项覆盖 setuptools 命令?
- php - 如何使用 php 创建摄氏度到华氏度的转换表?
- hibernate - JPA-Hibernate 一对一 - 在这种情况下延迟加载真的有效吗?
- bash - 问题:在 docker 中运行 ubuntu bash shell 时出错
- json - Aeson:解析 json 对象以列出
- html - 并排的两个内容块