1)如何在登录表单中添加自定义字段,并在登录后使用该值导航到其他页面。我需要自定义身份验证提供程序进行身份验证我们可以使用spring mvc来解决这个问题吗?
2)我们如何在auth提供程序中获取HttpSession?
答案 0 :(得分:0)
1)我想,您可以通过实施自己的AuthenticationSuccessHandler
并将其传递给<form-login authentication-success-handler-ref="..."/>
2)实际上,这并不是Spring Security中关注范式分离的静脉,其中身份验证提供程序填充Authentication
对象,而另一个筛选器在HTTP会话中持久保存/填充身份验证。不过,您通常可以通过向org.springframework.web.context.request.RequestContextListener
添加过滤器web.xml
,从请求处理链中的任何位置访问当前的HTTP请求,从而访问会话。然后使用((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession()
从身份验证提供程序到达会话。