Почему я не могу перенаправить на страницу с Spring security?

#javascript #java #spring #spring-boot #spring-security

#javascript #java #spring #пружинный ботинок #spring-безопасность

Вопрос:

Это слишком просто. Если я введу URL-адрес /toQuestion в браузере, я успешно перенаправлю на нужную мне страницу. Но, судя по моему js-коду:

 window.location.href = "/toQuestion";
 

Я вернусь на страницу входа в систему, которую я настроил:

 http.authorizeRequests(
                authorizeRequests -> authorizeRequests
                        .mvcMatchers(
                                "/js/**",
                                "/css/**",
                                "/chief",
                                "/toQuestion").permitAll()
                        .anyRequest().authenticated()

        )
.formLogin(
                        form -> form
                                .loginPage("/chief")
                                .permitAll()
                )
 

Есть ли какая-либо конфигурация, которую мне нужно настроить?

Ответ №1:

Вы можете изменить уровень журнала пакета org.springframework.security для отладки и посмотреть причину перенаправления на страницу входа.

Комментарии:

1. Хорошо. Я решил это. Потому что я не реализовал метод supports AuthenticationProvider, чтобы указать, какой объект аутентификации поддерживает этот AuthenticationProvider.

Ответ №2:

Похоже, вы разрешаете доступ только аутентифицированным пользователям, вот почему он перенаправляется. Для пользователей, не прошедших проверку подлинности, вы должны сделать что-то вроде:

 ...http.authorizeRequests(authorizeRequests -> authorizeRequests
"/toQuestion").permitAll();...
 

Комментарии:

1. Я дал разрешение «/ toQuestion» всем пользователям, не прошедшим проверку подлинности.

Ответ №3:

Хорошо. Я решил это.Потому что я не реализовал метод supports AuthenticationProvider, чтобы указать, какой объект аутентификации поддерживает этот AuthenticationProvider.