У меня есть приложение с @Controller
для веб-просмотра и @RestController
для слоя API.
Слой контроллера требует сессии, используя куки с JSESSIONID
.
Как и для слоя API Я создал токен JWT и использовал filterBefore, который обеспечивает аутентификацию с указанным токеном SecurityContextHolder.getContext().setAuthentication(authenticationToken);
Теперь у меня проблема:
- Требуется авторизация токена
sessionCreationPolicy(SessionCreationPolicy.STATELESS)
- web-view все еще нужно
JSESSIONID
Конечно, API можно использовать таким образом, но в конечном итоге он использует JSESSIONID
вместо токена, поэтому, если я изменю токен в заголовке Authorization
(например, используя другого пользователя), он все еще будет использовать учетные данные ранее авторизованного пользователя.
Есть ли возможность сделать сеанс STATELESS
для одной группы конечных точек (например: /api/**
), и ALWAYS
на других конечных точках. Или, может быть, есть какая-то возможность заставить @Controller
работать с аутентификацией на основе токенов?
Спасибо за любые идеи.