栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Spring Security登录页面中传递附加参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Spring Security登录页面中传递附加参数

详细阐述@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"/>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号