- session_id хранится в cookie (после успешного входа в систему я должен добавить cookie в ответ)
Сделайте это в AuthenticationSuccessHandler, который настроен для вашего <form-login>
элемента:
<form-login authentication-success-handler-ref="authenticationSuccessHandler"/>
- Внешние веб-приложения, также созданные в Spring, которые используют только переданный session_id.
Создайте новый фильтр, в котором вы проверяете cookie cookie session_id. Если файл cookie отсутствует или является недействительным, перенаправьте пользователя в центральное веб-приложение для входа в систему. Если файл cookie присутствует и действует, а пользователь еще не прошел проверку подлинности, создайте новый Authentication
и добавьте его в SecurityContextHolder
.
Взгляните на RememberMeAuthenticationFilter.doFilter () для примера того, что вы хотите сделать в своем фильтре.
Добавьте этот фильтр в цепочку фильтров, используя элемент <custom-filter>
.