Сертификат весенней загрузки X509 на странице входа - PullRequest
0 голосов
/ 09 июня 2018

Я пишу Spring Boot приложение, где на странице входа в систему пользователю будет предложено предоставить свой X509 сертификат (сгенерированный моим самозаверяющим CA).Если пользователь не может предоставить сертификат, ему показывают другую страницу с ошибкой.Если пользователь предоставляет правильный сертификат, я хочу показать ему страницу входа в систему с предварительно заполненным адресом электронной почты (прочитанным из сертификата) и ожидающим ввода пароля.Единственный затронутый путь должен быть / admin / login , для которого требуется сертификат, все остальные пути должны быть полностью незащищенными.

На данный момент я обнаружил следующую процедуру:

  1. сгенерировать правильные сертификаты
  2. сгенерировать файл jks
  3. настроить tomcat для запроса сертификата
  4. настроить безопасность весенней загрузки
  5. перед загрузкой страницы входа,попросить сертификат, разобрать его, проверить достоверность данных в нем (общее имя, ...)
  6. показать страницу входа в систему
  7. проверить данные для входа и, если все в порядке, сделать мои вещи

У меня проблемы с точками 3-5 , так как все найденные мной уроки не совсем то решение, которое я ищу.

Кроме того, позже,этот проект Spring Boot будет работать за виртуальным хостом Apache, поэтому я думаю, что мне понадобится Apache для запроса сертификата, а затем перенаправить его на сервер Spring Boot.

Мне понадобятся некоторые отправные точки, чтобы узнать, что мне нужно реализоватьэто.


Некоторый контекст: я создаю приложение Angular 6 (Spring Boot for backend), где у меня есть два типа ролей: пользователи и администраторы.Пользователи будут входить через обычную (угловую) страницу, используя только имя пользователя и пароль.Администратор должен будет войти в систему, предоставив сертификат и затем войдя в систему с именем пользователя, указанным в сертификате и пароле - это будет сделано на отдельной странице, обслуживаемой Spring Boot с механизмом шаблонов Thymeleaf.Что я предполагал реализовать, так это то, что когда пользователь проходит аутентификацию, я генерирую токен JWT и сохраняю его в cookie, который будет использоваться для всех будущих запросов (в течение срока действия JWT).Единственная проблема в том, что я не знаю, как соединить все эти вещи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...