2015-11-29 3 views
0

В Spring веб-приложения Java, то WebSecurityConfigurerAdapter класс расширяется, и configure(HttpSecurity http) используется для установки authorizeRequests(), formLogin() и т.д.

Можно указать несколько страниц входа в configure(HttpSecurity http)?
не интересно, если это возможно сделать с XML (POM) или такие, но в функции конфигурирования.)
Установите несколько страниц входа в систему с WebSecurityConfigurerAdapter программно в Java Spring

Например, конечный результат будет, как:

  • Доступ к /admin/something анонимно приведет вас к /admin/ и заставит вас войти на страницу администратора.
  • Доступ к /user/something анонимно приведет вас к /user/ и заставит вас зарегистрироваться на странице пользователя.
  • пользователь и администратор используют разные loginProcessingUrl и т.д.

ответ

0

Это может быть сделано. Внутри SecurityConfig класса, используя @Order аннотацию и объявить несколько классов, которые расширяют WebSecurityConfigurerAdapter:

@Order(1) 
@Configuration 
public static class FirstConfigurationAdapter extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { /* Settings for login page 1 here. */ } 
} 

@Order(2) 
@Configuration 
public static class SecondConfigurationAdapter extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { /* Settings for login page 2 here. */ } 
} 

//And 3, and so on. 

И затем, в соответствующих configure методов, просто настроить соответствующие страницы с formLogin() и т.д., как обычно.

Смежные вопросы