ldap - 人们在 LDAP 目录中使用 inetOrgPerson 将 CN 用于什么

标签 ldap openldap schema-design

我一直在用givenName+" "+surname在 CN 领域,我昨晚醒来时尖叫着“约翰史密斯怎么样了”?我可以想象任何一个大型组织雇用多个同名的人。所以这当然行不通。人们用什么来代替?

编辑 注意:在 inetOrgPerson CN 是 DN 的一部分。

编辑 注意:在这种情况下,我预计会增加到数十万个用户条目。

最佳答案

在 LDAP 目录中,无论是 OpenLDAP 还是 Active-Directory,规则是 DistinguishName (DN) 必须是唯一的,独立于用于构成相对可分辨名称 (RDN) 的属性(或多个属性)。

人们如何确保它是独一无二的:

  • 我会说在小型企业中,在目录中创建条目的人保证它是独一无二的,首先是知识,其次是初步搜索。如果出现重复,他会找到一些解决方案,例如“John E Smith”。如果名称发生变化(结婚、离婚等),则使用此解决方案时,LDAP 记录必须从一个 DN“移动”到另一个 DN。最好尽可能避免更改条目的 DN,但在小目录中这并不重要。
  • 在中型企业中,唯一性大部分时间是由来自人力资源的员工 ID 提供的。例如 FR12345678。我看到,在大公司中,人们使用员工 ID 登录。对于我在这里描述的事情,尽管有 uid,但使用 cn 属性来命名对象更为标准(但有些目录不允许您选择命名属性,我认为这是一个
    X500 功能)。
  • 在大多数目录(不在 AD 中)中,您可以使用多个属性来组成 RDN。例如 sn=Assin+TelephoneNumber=1234 是 openLDAP 中的有效 RDN,它在 PBX 中很有意义。
    还有一件事

  • 在某些目录(专为系统管理而设计)中,服务器端将某些属性测试为在整个树中都是唯一的。 Active-Directory 中的 sAMAccountNameuserPrincipalName 就是这种情况,它们用于记录目的。使用带有“given-Name Name”的 CN 属性迫使管理员保证唯一性。您可以在 slapd.conf 的数据库定义中使用 OpenLDAP 中的唯一属性,添加:
    # index since the unique overlay will search for matching mail attributes
    index mail eq
    
    overlay unique
    unique_attributes mail
    

    如果未编译唯一覆盖,则需要使用以下命令重新编译:
    ./configure ... --enable-unique
    

    关于ldap - 人们在 LDAP 目录中使用 inetOrgPerson 将 CN 用于什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814569/

    相关文章:

    database - 为什么或为什么不使用无模式数据库?

    php - LDAP 适用于 PHP CLI 但不能通过 apache

    java - LDAP 过滤器中的近似相等性是什么?

    ldap - openLDAP 的单点登录

    ldap - 在 openLDAP 中创建新的对象类和属性

    openldap - <后缀> 无效 DN 21(无效语法)openldap

    database - 强制完整性的表关系的最佳模式设计

    database-design - 你知道任何支持嵌入式文档(MongoDB)的数据库设计软件吗?

    .net - 如何使用反射通过属性标签名称设置属性值?

    c# - Active Directory 列表 OU