SASL 机制的标识映射尝试将 SASL 标识的凭证与目录中的用户条目进行匹配。如果映射找不到与 SASL 标识相对应的 DN,则验证将会失败。有关此机制的完整描述,请参见《Sun Java System Directory Server Enterprise Edition 6.0 Reference》。
SASL 标识是称为主体的字符串,以特定于每种机制的格式表示用户。在 DIGEST-MD5 中,客户端应创建包含 dn: 前缀和 LDAP DN 的主体,或者创建包含 u: 前缀(后跟由客户端确定的任何文本)的主体。在映射期间,客户端发送的主体可用于 ${Principal} 占位符中。
服务器配置中的以下条目是 DIGEST-MD5 的默认标识映射:
dn: cn=default,cn=DIGEST-MD5,cn=identity mapping,cn=config objectClass: top objectClass: nsContainer objectClass: dsIdentityMapping objectClass: dsPatternMatching cn: default dsMatching-pattern: \${Principal} dsMatching-regexp: dn:(.*) dsMappedDN: \$1 |
此标识映射假定主体的 dn 字段包含目录中现有用户的精确 DN。
无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。
编辑默认的映射条目,或者在 cn=DIGEST-MD5,cn=identity mapping,cn=config 下创建新的映射条目。
DIGEST-MD5 的示例映射位于 instance-path/ldif/identityMapping_Examples.ldif 中。
此示例假定主体的非限定文本字段中包含所需标识的用户名。以下命令显示应如何定义此映射:
$ ldapmodify -a -h host1 -p 1636 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: cn=unqualified-username,cn=DIGEST-MD5,cn=identity mapping cn=config objectclass: dsIdentityMapping objectclass: dsPatternMatching objectclass: nsContainer objectclass: top cn: unqualified-username dsMatching-pattern: \${Principal} dsMatching-regexp: u:(.*)@(.*)\\.com dsSearchBaseDN: dc=\$2 dsSearchFilter: (uid=\$1) |
重新启动目录服务器以使新映射生效。