Я изучаю Spring Security. Я выполняю авторизацию и аутентификацию со страницы входа, но всегда получаю сообщение об ошибке:
"localhost перенаправлял вас слишком много раз".
Я пытался очистить кеш и файлы cookie в браузере, но все равно получаю ту же ошибку.
Это моя конфигурация безопасности< /p>
`@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests(auth -\> auth
.requestMatchers("/admin/**").hasRole("ADMIN")
.requestMatchers("/user/**").hasRole("USER")
.requestMatchers("/admin/login").permitAll()
.anyRequest().authenticated()
)
.formLogin(login -\> login
.loginPage("/admin/login")
.successHandler(new AuthenticationHandler())
.permitAll()
)
.logout(logout -\> logout
.logoutUrl("/logout")
.logoutSuccessUrl("/login?logout")
.permitAll()
);
return http.build();
}`
и мой обработчик успеха
public class AuthenticationHandler implements AuthenticationSuccessHandler {
@Override
public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
// GET ROLE
String role = authentication.getAuthorities().iterator().next().getAuthority();
if (role.equals("ROLE_ADMIN")) {
httpServletResponse.sendRedirect("/admin/home");
}
else if (role.equals("ROLE_USER")) {
httpServletResponse.sendRedirect("/public/home");
}
else {
httpServletResponse.sendRedirect("/login?error=true");
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... many-times
SpringSecurity localhost перенаправлен слишком много раз ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Тринг для подключения с использованием HTTPS: сервер перенаправлен слишком много раз
Anonymous » » в форуме JAVA - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-