Я настроил Tomcat на требование взаимной аутентификации по TLS, установив clientAuth="true"
в conf/server.xml
файле:
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="conf/server.p12"
keystorePass="1t3TcUQY*2j^"
truststoreFile="conf/cacerts"
truststorePass="fx!eAKQO2^0c"
clientAuth="true"
sslProtocol="TLS"
sslEnabledProtocols="TLSv1.2">
</Connector>
Все хорошо, и Tomcat принимает клиентов только с действительными сертификатами.
Проблема в том, что веб-приложение, развернутое в Tomcat, не имеет представления о личности клиента.Под идентичностью я подразумеваю информацию о субъекте, такую как его отличительное имя (DN), которое появляется в сертификате клиента.Таким образом, веб-приложение не может принимать решения по управлению доступом на основе идентификатора клиента.
Существует ли у Tomcat способ передать эту информацию развернутому приложению после успешной аутентификации?