我想配置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身份验证处理程序针对数据库解析主体?
答案 0 :(得分:0)
缺少的成分是<button onclick="myFunction()">Count</button>
<p id="demo"></p>
中的这一行:
application.properties
没有它,CAS不会尝试查询您可能拥有的任何cas.authn.x509.principalType=SUBJECT_DN
设置。