LDAP 证书映射方式
证书映射方式用于指定在 Liberty 中是依照 EXACT_DN 还是 CERTIFICATE_FILTER 将 X.509 证书映射到 LDAP 目录。
EXACT_DN 意味着证书中的专有名称 (DN) 必须与 LDAP 服务器中的用户条目完全匹配(包括大小写和空格都完全匹配)。要对映射使用指定的证书过滤器,您可以使用 CERTIFICATE_FILTER。
- 证书过滤器
- 为 LDAP 过滤器指定过滤器证书映射属性。使用过滤器将客户机证书中的属性映射至 LDAP 注册表中的条目。
- 如果在运行时有多个 LDAP 条目与过滤器规范匹配,认证就会失败,这是因为这会导致模糊匹配。此过滤器的语法是:
.LDAP attribute=${Client certificate attribute}
简单证书过滤器的示例为:uid=${SubjectCN}。
- 您还可以指定多个属性和值作为证书过滤器的一部分。过滤器规范的 LDAP 属性取决于将 LDAP 服务器配置为要使用的模式。客户机证书属性是客户机证书中的一个公共属性。客户机证书属性必须以美元符号 $ 和左花括号 { 开头,以右花括号 } 结尾。这些属性区分大小写。
- 支持下列 LDAP 属性:
- uid
- initials
- sAMAccountName
- displayName
- distinguishedName
- displayName
- description
- ${SubjectCN}
- ${SubjectDN}
- ${IssuerCN}
- ${IssuerDN}
- ${SerialNumber}
示例为启用了证书过滤方式的 LDAP 配置:
<ldapRegistry id="LDAP" realm="SampleLdapIDSRealm"
host="myldap.ibm.com" port="389" ignoreCase="true"
baseDN="o=ibm,c=us"
certificateMapMode="CERTIFICATE_FILTER"
certificateFilter="uid=${SubjectCN}"
userFilter="(&(uid=%v)(objectclass=ePerson))"
groupFilter="(&(cn=%v)(|(objectclass=groupOfNames)
(objectclass=groupOfUniqueNames)(objectclass=groupOfURLs)))"
userIdMap="*:uid"
groupIdMap="*:cn"
groupMemberIdMap="ibm-allGroups:member;ibm-allGroups:uniqueMember;
groupOfNames:member;groupOfUniqueNames:uniqueMember"
ldapType="IBM Tivoli Directory Server" searchTimeout="8m" />