【发布时间】:2018-03-28 05:19:03
【问题描述】:
默认情况下,身份验证后的 Spring Security 会将您重定向到您之前尝试访问的受保护页面。
当我实现自己的成功处理程序时
@Component
class MyS: AuthenticationSuccessHandler {
override fun onAuthenticationSuccess(request: HttpServletRequest?, response: HttpServletResponse?, authentication: Authentication?) {
response?.sendRedirect(request?.getHeader(HttpHeaders.REFERER))
}
}
class SecurityConfigTH(@Autowired private val myHandler: MyS) : WebSecurityConfigurerAdapter() {
...
.formLogin()
.loginPage("/en/login")
.successHandler(myHandler)
.permitAll()
}
我无法达到同样的效果。我尝试重定向到referrer,但在这种情况下,referrer 是/en/login 页面。
基本上:
- 用户尝试访问受保护的 url
/protected - 将用户重定向到
/login页面 - 身份验证后,用户应再次重定向到
/protected
自定义的successHandler怎么做?
【问题讨论】:
标签: java spring spring-boot spring-security kotlin