SpringSecutiry的bug记录

1.bug描述:

       使用 SpringSecurity 的logout登出之后,不允许用户再次登录。这是因为系统的并发登录数没有减小,并且此时达到了最大登录并发数,maxSessionsPreventsLogin又设置为true,该用户就会不允许再次登录。

2.问题原因:

        首先我配置了并发控制,将最大并发登录数设为1,同时maxSessionsPreventsLogin设为true,这意味着,同一个账号,后登录的不会挤掉先登录的,而是会不允许登录。

        //配置会话管理
        http.sessionManagement(session->{
            //配置会话失效之后的跳转处理
            session.invalidSessionStrategy(new MyInvalidSessionHandle());
            //并发控制
            session.maximumSessions(1)
                    .maxSessionsPreventsLogin(true);

3.解决办法:

        暂时只能将maxSessionsPreventsLogin设为false ,让后登录的挤掉先登录的,或者自定义登出的操作,这个可能是一个SpringSecutiry的官方bug吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值