ldap 领域使用来自 LDAP 服务器的信息执行验证。用户信息包括用户名、密码和用户所属的组。要使用 LDAP 区域,必须已在 LDAP 目录中定义了用户和组。
要创建 LDAP 领域,请按照创建领域中的步骤添加新领域,然后添加下表中的属性。
表 9–2 ldap 领域的必需属性
属性名称 |
说明 |
值 |
---|---|---|
目录 |
目录服务器的 LDAP URL。 |
LDAP URL 的格式为:ldap://主机名:端口,例如 ldap://myldap.foo.com:389。 |
base-dn |
用户数据位置的基本标识名 (Distinguished Name, DN),由于将执行树范围的搜索,因此该用户数据的位置可以是高于用户数据的任何级别。搜索树越小,性能越好。 |
搜索的域,例如:dc=siliconvalley, dc=BayArea, dc=sun, dc=com。 |
jaas-context |
要用于此区域的登录模块类型。 |
必须为 ldapRealm。 |
下表显示了 ldap 领域的可选属性。
表 9–3 ldap 领域的可选属性
属性名称 |
说明 |
默认值 |
---|---|---|
search-filter |
用于查找用户的搜索过滤器。 |
uid=%s(%s 扩展为主题名称)。 |
group-base-dn |
组数据位置的基本 DN。 |
与 base-dn 相同,但如果需要也可以对其进行调整。 |
group-search-filter |
用于查找用户的组成员关系的搜索过滤器。 |
uniquemember=%d(%d 扩展为用户元素 DN)。 |
group-target |
包含组名称条目的 LDAP 属性名。 |
CN |
search-bind-dn |
用于向目录验证以执行搜索-过滤器查找的可选 DN。对目录的要求只是不允许进行匿名搜索。 | |
search-bind-password |
search-bind-dn 中给定的 DN 的 LDAP 密码。 |
例如,假定在 LDAP 目录中定义了一个 LDAP 用户 Joe Java,如下所示:
uid=jjava,ou=People,dc=acme,dc=com uid=jjava givenName=joe objectClass=top objectClass=person objectClass=organizationalPerson objectClass=inetorgperson sn=java cn=Joe Java
创建或编辑 ldap 领域时,您可以使用示例代码输入下表中所示的值。
表 9–4 ldap 领域示例值
属性名称 |
属性值 |
---|---|
directory |
服务器的 LDAP URL,例如:ldap://ldap.acme.com:389 |
base-dn |
ou=People,dc=acme,dc=com。 可以向更高层次进行搜索(例如 dc=acme、dc=com),但搜索将遍历树的更大部分,会导致性能降低。 |
jaas-context |
ldapRealm |