У меня есть реализация Spring Security, которая не имеет состояния и использует аутентификацию на основе токенов. Большая часть моей логики находится внутри класса, который расширяет AbstractAuthenticationProcessingFilter. Моя проблема заключается в том, что после успешной проверки подлинности AbstractAuthenticationProcessingFilter выполняет перенаправление 302, чего я не хочу. Я просто хочу, чтобы первоначальный запрос был завершен. Как мне обойти это?Весенняя безопасность без перенаправления
3
A
ответ
3
Я смог сделать метод «входа в систему», защищенный пружиной, чтобы вернуть «200 OK», а не «перенаправить 302», переопределив обработчик успеха и отказа. В приведенном ниже коде показано, как добиться того же.
//configure http by using the successHandler
//and failure handler methods
http.
formLogin()
.loginPage("/authentication/login")
.loginProcessingUrl("/authentication/processLogin")
.successHandler(successHandler())
.failureHandler(failureHandler())
.and()
......
private AuthenticationFailureHandler failureHandler() {
return new SimpleUrlAuthenticationFailureHandler() {
public void onAuthenticationFailure(HttpServletRequest request,
HttpServletResponse response, AuthenticationException exception)
throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Authentication Failed. Wrong username or password or both");
}
};
}
private AuthenticationSuccessHandler successHandler() {
return new SimpleUrlAuthenticationSuccessHandler() {
public void onAuthenticationSuccess(HttpServletRequest request,
HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(false);
session.setMaxInactiveInterval(60*180);
response.getWriter().println("LoginSuccessful");
}
};
}
Смежные вопросы
- 1. Весенняя безопасность без jsp
- 2. Весенняя сессия и весенняя безопасность
- 3. Индивидуальная весенняя безопасность без пружины MVC
- 4. Весенняя безопасность/Весенняя сессия/Веб-гнезда
- 5. Весенняя безопасность с Restlet?
- 6. Весенняя безопасность пользовательский расход
- 7. Весенняя безопасность и углы
- 8. Весенняя безопасность и VAADIN
- 9. Весенняя безопасность с ролями
- 10. Многоуровневая весенняя безопасность
- 11. Весенняя безопасность с webgate
- 12. - весенняя безопасность стоит усилий
- 13. Весенняя безопасность в безграмотном webapp?
- 14. Весенняя безопасность - разрешающий анонимный доступ
- 15. Пользовательский ответ после успешной аутентификации весенняя безопасность
- 16. Весенняя безопасность для Android-приложения
- 17. Весенняя безопасность + отдых не работает
- 18. Весенняя безопасность: управление sssion с живыми серверами
- 19. Весенняя безопасность в автономном приложении
- 20. Весенняя безопасность необходима для Stormpath?
- 21. весна websocket нет весенняя безопасность
- 22. Весенняя безопасность, OAUTH Cors, ОПЦИИ
- 23. Весенняя безопасность AuthenticationManager vs AuthenticationProvider?
- 24. Весенняя безопасность 3.2 Конфигурация java
- 25. GWT - весенняя безопасность - проблема кеширования
- 26. Весенняя безопасность между двумя приложениями
- 27. Весенняя ботинок + безопасность + jquery ajax
- 28. Весенняя безопасность множественных протоколов выхода?
- 29. Весенняя безопасность для REST API
- 30. Весенняя безопасность возвращает корень контроллера