【发布时间】:2019-07-22 23:06:14
【问题描述】:
我想将Apereo CAS 6.0.x 配置为执行X.509 身份验证,然后从数据库表中检索主体属性。
基本的 X.509 身份验证正在使用 application.properties 中的这些行(以及适当的反向代理设置):
cas.authn.x509.extractCert=true
cas.authn.x509.sslHeaderName=SSL_CLIENT_CERT
cas.authn.x509.principalDescriptor=SUBJECT_DN
默认的“登录成功”页面显示它知道如何获取我的证书的主题 DN。
但我不知道如何告诉 CAS 然后使用该主题 DN 值来查询我的数据库以获取其他属性。
This page 明确提到了我的需求(尽管使用 LDAP 而不是 JDBC),但没有具体说明如何实现它:
在许多情况下,需要通过一种方式执行身份验证并通过另一种方式解析主体。 PrincipalResolver 组件提供此功能。这种混合搭配策略的一个常见用例是 X.509 身份验证。通常将证书存储在 LDAP 目录中并查询该目录以从目录属性中解析主体 ID 和属性。 X509CertificateAuthenticationHandler 可以与基于 LDAP 的主体解析器结合使用以适应这种情况。
需要设置哪些属性才能让 X509 身份验证处理程序根据数据库解析主体?
【问题讨论】:
标签: cas