Spring boot и Spring Security, разные формы входа в систему для использования разных обработчиков успеха - PullRequest
0 голосов
/ 14 марта 2019

У меня есть сайт boot boot / mvc, использующий spring security. Я должен использовать способы входа в систему, В навигационной панели присутствует на каждой странице и страницу входа, на которую вы перенаправляетесь при попытке доступа к ограниченному ресурсу.

Для navbar я бы хотел, чтобы пользователь оставался на странице после успешного входа Для страницы входа в систему я бы хотел, чтобы пользователя перенаправляли на ресурс, к которому он пытался получить доступ после входа в систему.

Я могу выполнять каждую функцию индивидуально Первый вариант использования обрабатывается:

SimpleUrlAuthenticationSuccessHandler handler = new SimpleUrlAuthenticationSuccessHandler();

    handler.setUseReferer(true);

Второй случай - это функциональность по умолчанию. Но я не смог заставить их обоих работать.

Кто-нибудь знает, как этого достичь?

1 Ответ

0 голосов
/ 14 марта 2019

Вы можете настроить каждую страницу входа в систему с другим AuthenticationSuccessHandler, как описано здесь https://www.baeldung.com/spring_redirect_after_login

Как:

    @Override
    protected void configure(final HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/anonymous*").anonymous()
                .antMatchers("/login*").permitAll()
                .anyRequest().authenticated()

                .and()
                .formLogin()
                .loginPage("/login.html")
                .loginProcessingUrl("/login")
                .successHandler(myAuthenticationSuccessHandler())

                .and()
                .formLogin()
                .loginPage("/login2.html")
                .loginProcessingUrl("/login2")
                .successHandler(mySecondAuthenticationSuccessHandler())
        // ...
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...