【问题标题】:CAS X.509 auth with attributes from database具有数据库属性的 ​​CAS X.509 身份验证
【发布时间】: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


    【解决方案1】:

    缺少的成分是application.properties 中的这一行:

    cas.authn.x509.principalType=SUBJECT_DN
    

    没有它,CAS 不会尝试查询您可能拥有的任何attributeRepository 设置。

    【讨论】:

      猜你喜欢
      • 2017-05-22
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2023-03-31
      • 2014-11-07
      • 2015-03-27
      相关资源
      最近更新 更多