Я хочу настроить 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 субъекта для запроса в моей базе данных дополнительных атрибутов.
Эта страница явно упоминает мойнужно (хотя и с LDAP вместо JDBC), но конкретно не говорится, как этого добиться:
Во многих случаях необходимо выполнить аутентификацию одним способом и разрешить принципалы другим.Компонент PrincipalResolver обеспечивает эту функциональность.Обычный вариант использования этой стратегии смешивания и сопоставления возникает при аутентификации X.509.Распространено хранить сертификаты в каталоге LDAP и запрашивать каталог для разрешения идентификатора участника и атрибутов из атрибутов каталога.X509CertificateAuthenticationHandler может быть объединен с основным распознавателем на основе LDAP для учета этого случая.
Какие свойства необходимо установить, чтобы обработчик аутентификации X509 разрешал принципала по базе данных?