#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.