为联合存储库中基于文件的存储库启用客户机证书登录支持
您可以在使用单个基于文件的内置存储库或多个存储库配置(包括基于文件的存储库以及其他存储库)进行配置的领域中,启用对客户机证书登录的支持。
开始之前
关于此任务
基于文件的内置存储库的缺省配置将忽略证书登录请求,返回空搜索结果并且不显示任何错误。
如果要为基于文件的内置存储库启用客户机证书登录,请完成下列步骤以设置定制属性。
过程
使用 wsadmin 命令添加定制属性
此外,也可以使用 wsadmin 命令来添加定制属性,如下列步骤所示。
过程
结果
完成这些步骤之后,就已在联合存储库中启用了对基于文件的存储库的证书登录支持,如文件适配器配置中的以下条目中所示:
<config:CustomProperties name="certificateMapMode" value="mode"/>
<config:CustomProperties name="certificateFilter" value="filter_expression"/>
如果接受证书登录请求,那么登录将成功。如果拒绝证书登录请求,那么将显示错误。
如果在联合存储库下只配置了文件存储库,那么证书登录请求的结果将如下表所述。
文件存储库 | 期望的结果 |
---|---|
缺省行为(不添加 certificateMapMode 定制属性) | 忽略证书登录请求,返回空结果且不显示任何错误 |
不支持证书登录(certificateMapMode 定制属性的值为 notSupported) | 发生 CertificateMapNotSupportedException |
支持证书登录(certificateMapMode 定制属性的值为 exactDNMode 或 filterDescriptorMode)且找不到用户 | 发生 EntityNotFoundException |
支持证书登录(certificateMapMode 定制属性的值为 exactDNMode)且找到其 DN 与证书中的 PrincipalName 相匹配的实体 | 证书登录成功 |
支持证书登录(certificateMapMode 定制属性的值为 filterDescriptorMode)且找到单个匹配的实体 | 证书登录成功 |
支持证书登录(certificateMapMode 定制属性的值为 filterDescriptorMode)且找到多个匹配的实体 | 发生 CertificateMapFailedException 并显示“找到多个主体”错误消息 |
如果在联合存储库下配置了多个存储库,那么最终登录结果将取决于行为以及从其他存储库返回的结果。下表包含显示在各种配置场景中的错误示例。
文件存储库 | LDAP 存储库 | 期望的结果 |
---|---|---|
缺省行为 | 支持证书登录且找到用户 | 证书登录成功 |
缺省行为 | 支持证书登录且找不到用户 | 发生 PasswordCheckFailedException |
不支持证书登录 | 支持证书登录且找到用户 | 发生 CertificateMapFailedException |
支持证书登录且找到用户 | 支持证书登录且找到用户 | 发生 DuplicateLogonIdException |
支持证书登录且找到用户 | 支持证书登录且找不到用户 | 证书登录成功 |
支持证书登录且找不到用户 | 支持证书登录且找到用户 | 证书登录成功 |
支持证书登录且找不到用户 | 支持证书登录且找不到用户 | 发生 PasswordCheckFailedException |
文件存储库 | 本地操作系统存储库 | 期望的结果 |
---|---|---|
缺省行为 | 不支持证书登录 | 发生 CertificateMapFailedException |
不支持证书登录 | 不支持证书登录 | 发生 CertificateMapNotSupportedException |
支持证书登录且找到用户 | 不支持证书登录 | 发生 CertificateMapFailedException |
支持证书登录且找不到用户 | 不支持证书登录 | 发生 CertificateMapFailedException |
缺省行为 | 支持证书登录且找到用户 | 证书登录成功 |
缺省行为 | 支持证书登录且找不到用户 | 发生 PasswordCheckFailedException |
不支持证书登录 | 支持证书登录且找到用户 | 发生 CertificateMapFailedException |
支持证书登录且找到用户 | 支持证书登录且找到用户 | 发生 DuplicateLogonIdException |
支持证书登录且找到用户 | 支持证书登录且找不到用户 | 证书登录成功 |
支持证书登录且找不到用户 | 支持证书登录且找到用户 | 证书登录成功 |
支持证书登录且找不到用户 | 支持证书登录且找不到用户 | 发生 PasswordCheckFailedException |