SpringBoot使用SpringSecurity的session管理

session管理

session超时处理

直接在配置文件配置

server:
  servlet:
    session:
      timeout: 10

SpringBoot的默认的session过期时间最少为1分钟。session失效跳转地址,在security配置中进行配置。

session并发控制(一个账号只在一个平台登录)

在chrom登录用户,再在火狐浏览器登录时,会顶掉在chrom登录的账号。
在security的权限配置中,调用HttpSecurity的 maximumSessions的方法进行最大session数设置。
通过expiredSessionStrategy方法进行失效处理。

maximumSessions(1)
.expiredSessionStrategy(new ImoocExpiredSessionStrategy())
public class ImoocExpiredSessionStrategy implements SessionInformationExpiredStrategy {

    @Override
    public void onExpiredSessionDetected(SessionInformationExpiredEvent event) throws IOException, ServletException {
        event.getResponse().setContentType("application/json;charset=UTF-8");
        event.getResponse().getWriter().write("并发登录!");
    }
}

当用户已经在chrom登录时,不希望在别的浏览器登录。
可以调用.maxSessionsPreventsLogin(true)方法。

集群session管理

在互联网应用中,将集群应用的的session提取出来,放在一个第三方的数据库库中比如:REDIS\MONGO\jdbc

1、配置session管理工具

spring:
  session:
    store-type: REDIS
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值