LDAP 中 CN, OU, DC 的含义

1、LDAP的存储规则

区分名(DN,Distinguished Name)

和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别这些枝叶。

在文件系统中, 这些独一无二的属性就是带有完整路径的文件名。比如/etc/passwd,该文件名在该路径下是独一无二的。当然我们可以有/usr/passwd, /opt/passwd,但是根据它们的完整路径,它们仍然是唯一的。

在LDAP中,一个条目的区分名称叫做“dn”或者叫做区分名。在一个目录中这个名称总是唯一的。比如,我的dn是"uid=aghaffar, ou=People, o=developer.ch"。不可能有相同的dn,但是我们可以有诸如"uid=aghaffar, ou=Administrators, o=developer.ch"的dn。这同上面文件系统中/etc/passwd 和 /usr/passwd的例子很类似。

我们有独一无二的属性,在"ou=Administrators, o=developer.ch" 中uid和在"ou=People, o=developer.ch"中的uid。这并不矛盾。

CN=Common Name 为用户名或服务器名,最长可以到80个字符,可以为中文;

OU=Organization Unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;

O=Organization 为组织名,可以3—64个字符长

C=Country为国家名,可选,为2个字符长

LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。

2、CN, OU, DC 都是 LDAP 连接服务器的端字符串中的区别名称(DN, distinguished   name) 

LDAP连接服务器的连接字串格式为:ldap://servername/DN   
其中DN有三个属性,分别是CN,OU,DC   
LDAP是一种通讯协议,如同HTTP是一种协议一样的! 
在 LDAP 目录中,

·         DC (Domain Component)

·         CN (Common Name)

·         OU (Organizational Unit)


LDAP 目录类似于文件系统目录。 
下列目录: 
DC=redmond,DC=wa,DC=microsoft,DC=com       
如果我们类比文件系统的话,可被看作如下文件路径:    
Com\Microsoft\Wa\Redmond   
例如:CN=test,OU=developer,DC=domainname,DC=com 
在上面的代码中 cn=test 可能代表一个用户名,ou=developer 代表一个 active directory 中的组织单位。这句话的含义可能就是说明 test 这个对象处在domainname.com 域的 developer 组织单元中。

<think>好的,我现在要帮助用户理解LDAP中的Connection DN和DC的概念及用途。首先,我需要回忆一下LDAP的基本知识,确保自己对这些概念有正确的理解。 LDAP(轻量级目录访问协议)是一种用于访问和维护目录服务的协议。在LDAP中,DN(Distinguished Name)是条目的唯一标识,而DC(Domain Component)是DN中的一部分,通常用于表示域名组件。用户的问题集中在Connection DN和DC含义与作用,需要详细解释这两个概念,并结合实际应用场景来说明。 首先,Connection DN应该指的是绑定LDAP服务器时使用的专有名称,也就是绑定DN。这个DN通常具有管理员权限,用于认证客户端到LDAP服务器的连接。例如,当应用程序需要连接到LDAP服务器进行用户查询或修改时,需要使用一个具有相应权限的DN来进行身份验证。这类似于数据库连接中的用户名,但结构更为复杂,因为它包含了层次结构的信息。 接下来是DC,即Domain Component,这是DN中的一种属性类型,用于表示域名的一部分。例如,在DN“cn=admin,dc=example,dc=com”中,dc=example和dc=com组合起来构成了域名example.com。DCLDAP中用于构建目录信息树的层次结构,通常对应于组织的域名,帮助组织目录中的数据。 现在需要验证这些理解是否正确,并确保没有混淆其他概念,比如OU(Organizational Unit)或CN(Common Name)。例如,CN通常用来表示条目名称,而OU是组织单元,用于进一步分组条目。DC则是更高层次的结构,通常位于DN的最右侧,构成域名的各个部分。 然后,需要结合用户提供的引用内容。引用[1]提到LDAP作为主数据源,MySQL包含额外信息,这可能说明在集成系统中,Connection DN用于LDAP服务器的认证,而DC帮助定位目录中的基础结构。引用[2]提到了错误代码34,指出需要完整的DN,比如“cn=admin,dc=node3,dc=com”,这进一步强调了正确配置Connection DN的重要性,尤其是DC部分在构建完整DN中的作用。 接下来需要组织回答的结构,确保符合用户的要求:分点解释Connection DN和DC,各自的作用,以及示例。同时,要引用提供的资料,特别是在解释Connection DN的配置错误时,可以引用[^2]中的例子,说明缺少DC会导致无效DN的错误。 可能还需要考虑用户的实际应用场景,比如在配置Spring应用程序连接LDAP时,如何正确设置Connection DN和DC,避免常见错误。例如,在Spring配置中,spring.ldap.username应该使用完整的DN,包括所有DC部分,否则会导致认证失败。 最后,生成相关问题,确保问题与主题相关,并帮助用户深入理解。例如,如何配置LDAP连接、如何设计目录结构、常见错误及解决方法等。 总结思考步骤: 1. 确定Connection DN的定义和作用,举例说明。 2. 解释DC的组成部分及其在DN中的位置,结合域名结构。 3. 使用用户提供的引用资料中的例子,说明配置错误的情况。 4. 结构清晰,分点回答,引用标注正确。 5. 生成相关问题,促进用户进一步学习。 现在需要将这些思考整理成符合要求的中文回答,使用正确的格式,确保行内公式和独立公式正确应用(虽然这个问题可能较少涉及数学公式,但如果有需要的话)。同时,检查LaTeX语法是否正确,尽管这个问题可能不需要太多数学表达式,但如果有变量或代码,需正确使用格式。</think>### LDAP中Connection DN和DC的概念及作用解析 #### 一、Connection DN(绑定专有名称) **定义**:Connection DN是客户端连接LDAP服务器时用于身份验证的完整专有名称(Distinguished Name)。它类似于数据库连接中的“用户名”,但包含层级结构信息,用于唯一标识一个目录条目。 **作用**: 1. **身份验证**:向LDAP服务器证明客户端权限(如管理员权限)[^2]。 2. **权限控制**:决定客户端可操作的目录范围和内容。 **示例**: 若LDAP服务器的管理员条目为 `cn=admin,dc=node3,dc=com`,连接时应填写完整DN: ```properties spring.ldap.username=cn=admin,dc=node3,dc=com ``` 若缺少`dc`部分(如仅写`cn=admin`),会触发错误`LDAP: error code 34 - invalid DN`。 --- #### 二、DC(Domain Component) **定义**:DCLDAP目录树中表示域名组件的属性类型,用于构建层级命名空间。 **作用**: 1. **目录结构设计**:通过域名分段(如`dc=example,dc=com`)组织目录条目,形成逻辑层次。 2. **数据定位**:帮助客户端快速定位特定域下的条目(如用户、组)。 **示例**: 公司域名为`node3.com`,其基础DN通常设计为`dc=node3,dc=com`,所有条目(如用户`cn=user1`)的完整DN为: $$ \text{cn=user1,ou=users,dc=node3,dc=com} $$ --- #### 三、实际应用场景 在集成LDAP与数据库的系统中(如引用[^1]): 1. **Connection DN**用于安全连接LDAP主数据源。 2. **DC**定义数据存储的根路径,例如从`dc=node3,dc=com`开始同步用户信息到MySQL。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值