2.5. 使用引用


引用告知客户端应用程序要联系特定信息。当客户端应用程序请求本地服务器上不存在的目录条目或数据库被关闭以进行维护时,会发生此重定向。本节包含有关引用的以下信息:
有关如何在目录中使用引用的概念信息,请参阅 红帽目录服务器部署指南

2.5.1. 以引用模式启动服务器

引用用于将客户端应用程序重定向到其他服务器,而当前服务器不可用,或者客户端请求当前服务器上未保存的信息。例如,在对目录服务器进行配置更改时,以引用模式启动目录服务器会将所有客户端引用给其他供应商,而该服务器不可用。使用 refer 命令 以引用 模式启动目录服务器。
使用 refer 选项运行 nsslapd
# ns-slapd refer -D /etc/dirsrv/slapd-instance_name [-p port] -r referral_url
Copy to Clipboard Toggle word wrap
  • /etc/dirsrv/slapd-instance_name/ 是目录服务器配置文件所在的目录。这是 Red Hat Enterprise Linux 中的默认位置。
  • port 是以引用模式启动的目录服务器的可选端口号。
  • referral_url 是返回到客户端的引用。LDAP URL 的格式包含在 附录 C, LDAP URL 中。

2.5.2. 设置默认引用

目录服务器返回默认引用到在目录维护的任何后缀中提交 DN 操作的客户端应用程序。以下流程描述了使用命令行为目录设置默认引用。

2.5.2.1. 使用命令行设置默认引用

使用 dsconf config replace 命令,在 nsslapd-referral 参数中设置默认引用。例如,将 ldap://directory.example.com/ 设置为默认引用:
# dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-referral="ldap://directory.example.com/"
Copy to Clipboard Toggle word wrap

2.5.3. 创建智能引用

智能引用将目录条目或目录树映射到特定的 LDAP URL。使用智能引用时,客户端应用程序可以引用特定服务器或特定服务器上的特定条目。
例如,客户端应用程序请求目录条目 uid=jdoe,ou=people,dc=example,dc=com。为客户端返回一个智能引用,它指向服务器 directory.europe.example.com 中的条目 cn=john doe,o=people,ou=europe,dc=example,dc=com
目录使用智能引用的方式符合 RFC 2251 部分 4.1.11 中指定的标准。RFC 可从 http://www.ietf.org/rfc/rfc2251.txt 下载。

2.5.3.1. 使用命令行创建智能引用

要创建一个智能引用,创建带有 referral 对象类的相对目录条目,并将 ref 属性设置为引用 LDAP URL。
例如,要创建一个名为 uid=user,ou=people,dc=example,dc=com 的智能引用,其引用 ldap://directory.europe.example.com/cn=user,ou=people,ou=europe,dc=example,dc=com:
# ldapadd -D "cn=Directory Manager" -W -p 389 -h server2.example.com -x
dn: uid=user,ou=people,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: referral
sn: user
uid: user
cn: user
ref: ldap://directory.europe.example.com/cn=user,ou=people,ou=europe,dc=example,dc=com
Copy to Clipboard Toggle word wrap
注意
目录服务器在 LDAP URL 中的空格后忽略任何信息。因此,在用作引用的 LDAP URL 中使用 %20 而不是空格。
如果 DN 路径中已有引用,请将 -M 选项与 ldapadd 一起使用。有关智能引用的更多信息,请参阅 目录服务器部署指南

2.5.4. 创建后缀引用

以下流程描述了在 后缀 中创建引用。这意味着,后缀使用引用而不是数据库或数据库链接来处理操作。
警告
当您将后缀配置为返回引用时,与后缀关联的数据库中包含的 ACI 会被忽略。另外,创建后缀引用只适用于非复制后缀。

2.5.4.1. 使用命令行创建后缀引用

创建后缀引用:
  1. (可选)创建一个 root 或 sub-suffix (如果不存在)。详情请查看 第 2.1.1 节 “创建后缀”
  2. 将引用添加到后缀。例如:
    # dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix set --add-referral="ldap://directory.example.com/" database_name
    Copy to Clipboard Toggle word wrap

2.5.4.2. 使用 Web 控制台创建后缀引用

创建后缀引用:
  1. 在 web 控制台中打开 Directory Server 用户界面。请参阅 第 1.4 节 “使用 Web 控制台登录目录服务器”
  2. 选择实例。
  3. 打开 Database 菜单。
  4. (可选)创建一个 root 或 sub-suffix (如果不存在)。详情请查看 第 2.1.1 节 “创建后缀”
  5. 从列表中选择后缀,并打开 Referrals 选项卡。
  6. 单击 创建引用
  7. 填写字段以创建引用 URL。
  8. 单击 创建引用
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat