详细阐述@Vacuum的评论
这是一种简单的方法(未经测试,但我相信这会起作用)
1)创建一个新类
ExUsernamePasswordAuthenticationFilter,它将扩展默认过滤器并获取其他参数并将其存储在会话中。它看起来像这样:
public class ExUsernamePasswordAuthenticationFilter extends UsernamePasswordAuthenticationFilter { @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { final String dbValue = request.getParameter("dbParam"); request.getSession().setAttribute("dbValue", dbValue); return super.attemptAuthentication(request, response); } }2)在你的
UserDetailsService实现中,修改你的实现:
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException;
获取第1)步中的过滤器提供的会话变量。
3)在你的
<http />安全设置中,使用你的自定义过滤器覆盖默认过滤器
<custom-filter ref="beanForYourCustomFilterFromStep1" position="FORM_LOGIN_FILTER"/>



