具有来自数据库的属性的CAS X.509身份验证

时间:2019-02-28 23:16:54

标签: cas

我想配置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身份验证处理程序针对数据库解析主体?

1 个答案:

答案 0 :(得分:0)

缺少的成分是<button onclick="myFunction()">Count</button> <p id="demo"></p>中的这一行:

application.properties

没有它,CAS不会尝试查询您可能拥有的任何cas.authn.x509.principalType=SUBJECT_DN 设置。