Как включить взаимную аутентификацию, только если этот вариант пользователь выбирает для аутентификации системы? - PullRequest
1 голос
/ 01 июля 2019

Мы предоставляем различные типы механизмов аутентификации для наших пользователей, чтобы аутентифицировать наше приложение.Один из них использует установленные на нем сертификаты смарт-карт.Поэтому я настроил файл tomcat server.xml (clientAuth = true) и добавил клиентские сертификаты в мой файл хранилища ключей.Когда пользователь заходит на главную страницу, в браузере появляется список сертификатов аутентификации пользователя.Когда пользователь выбирает один из них для аутентификации, он перенаправляет на страницу приветствия (страницу входа), где мы показываем список методов аутентификации.Но то, что я хочу реализовать, когда пользователь попадает на главную страницу, все равно страница приветствия должна быть показана первой.Если пользователь выбирает аутентификацию с помощью сертификатов только в этом случае, мы должны включить взаимную аутентификацию и показать сертификаты пользователя в браузере.Но если это не вариант, выбранный пользователем, мы не должны требовать сертификаты от конечных пользователей и аутентифицировать их с различными параметрами, которые они выберут.Я не могу использовать clientAuth = want, список сертификатов все еще всплывает перед страницей входафайл server.xml.Любое руководство / подсказка, чтобы понять это ценится.

1 Ответ

0 голосов
/ 03 июля 2019

Короткий ответ: вы не можете сделать это только с помощью конфигурации. Вам нужно будет написать хотя бы собственный Аутентификатор и, возможно, пользовательское Сфера.

Решение с использованием только конфигурации должно быть возможным, если вы используете несколько экземпляров веб-приложения. 1, который требует CLIENT-CERT и другой, который использовал альтернативу. Недостатком является то, что вам нужно развернуть в основном одно и то же приложение дважды, просто с другой конфигурацией аутентификации.

...