Возможно ли иметь две стратегии управления сеансом для разных API на основе Ant Matcher? - PullRequest
0 голосов
/ 13 июля 2020
• 1000

Также возможно поддерживать два разных атрибута ie повара сеанса (с настраиваемыми именами) для этих двух API и иметь код для их аннулирования на основе некоторых бизнес-логов c?

1 Ответ

0 голосов
/ 14 июля 2020

Вы можете сделать это, используя отдельные цепочки фильтров для обработки каждого запроса. Реализуйте 2 отдельных класса конфигурации, которые расширяют WebSecurityConfigurerAdapter

Have one with: 
@Configuration
@Order(1)
public class SecurityConfig1 extends WebSecurityConfigurerAdapter{

    protected void configure(HttpSecurity http) throws Exception {
            http.requestMatcher(""/apiV1/**"")
    .... //

и

@Configuration
@Order(2)
public class SecurityConfig2 extends WebSecurityConfigurerAdapter{

    protected void configure(HttpSecurity http) throws Exception {
            http.requestMatcher(""/apiV2/**"")
    ....

Spring создаст 2 отдельные цепочки фильтров, а прокси-сервер цепочки фильтров будет направлять запросы к каждой из них на основе запрос сопоставления, затем вы можете настроить фитлеры сеанса et c в каждом и даже иметь разные аутентификации et c.

Подробнее в этой статье: https://www.baeldung.com/spring-security-multiple-entry-points

...