首页 > 其他分享 >Spring Session库

Spring Session库

时间:2023-03-16 10:13:36浏览次数:27  
标签:登录 Session Spring 账号 session 服务器 超时

Spring Security可以与Spring Session库配合使用,只需要做一些简单的配置就可以实现一些功能,如(会话过期、一个账号只能同时在线一个、集群session等)。
1)配置session会话超时时间,默认为30分钟,但是Spring Boot中的会话超时时间至少为60秒。

#session设置
#配置session超时时间
server.servlet.session.timeout=60

当session超时后, 默认跳转到登录页面。
2)自定义设置session超时后地址
设置session管理和失效后跳转地址

http.sessionManagement()//设置session管理
.invalidSessionUrl("toLoginPage")//sesion无效后跳转的路径,默认是登录页面

并发控制

即同一个账号同时在线个数,同一个账号同时在线个数如果设置为1表示,该账号在同一时间内只能有一个有效的登录,如果同一个账号又在其它地方登录,那么就将上次登录的会话过期,即后面的登录会踢掉前面的登录。
1)修改超时时间
2)设置最大会话数量
3)阻止用户第二次登录
sessionManagement也可以配置 maxSessionsPreventsLogin:boolean值,当达到
maximumSessions设置的最大会话个数时阻止登录。
实际场景中一个服务会至少有两台服务器在提供服务,在服务器前面会有一个nginx做负载均衡,用户访问nginx,nginx再决定去访问哪一台服务器。当一台服务宕机了之后,另一台服务器也可以继续提供服务,保证服务不中断。如果我们将session保存在Web容器(比如tomcat)中,如果一个用户第一次访问被分配到服务器1上面需要登录,当某些访问突然被分配到服务器二上,因为服务器二上没有用户在服务器一上登录的会话session信息,服务器二还会再次让用户登录,用户已经登录了还让登录就感觉不正常了。

标签:登录,Session,Spring,账号,session,服务器,超时
From: https://www.cnblogs.com/popopopopo/p/17221262.html

相关文章

  • 前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件
    前后端分离项目下使用PageOffice原理图集成步骤前端vue项目在您Vue项目的根目录下index.html中引用后端项目根目录下pageoffice.js文件。例如:<scripttype="te......
  • cannot access class org.springframework.cglib.core.ReflectUtils with java 17
    (inmodulecom.xxx)cannotaccessclassorg.springframework.cglib.core.ReflectUtils(inunnamedmodule@0x2d950574)becausemodulecom.xxxdoesnotreadunname......
  • SpringCloud Alibaba Nacos 简介
    Nocos(DynamicNamingandConfigurationService)一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。可以说Nacos是注册中心和配置中心的组合。Nacos官网;h......
  • 【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看
    highlight:a11y-dark简介前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用。但由于原来OpenAI并没有支持官网的chatgpt模型,所以使用起来相对没有官网......
  • SpringCloud Alibaba 入门简介
    为什么会出现SpringCloudAlibaba?因为SpringCloudNetflix项目进入维护模式。维护模式:意味着SpringCloud团队将不会再向模块添加新功能。将修复block级别的bug以......
  • spring合集
    spring框架概览springwebspringweb源码架构简介Spring5源码解析-SpringWeb中的处理程序执行链spring自动装配import总结浅析@Import、DeferredImportSelector、Im......
  • SpringBoot使用jasypt加解密密码
    在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等);使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开applic......
  • Spring Study -lesson07-03-15
    自动装配Bean 两种自动装配方法:第一byName ,第二byType属性类型(用byType可以省略写id)。byName要保证所有bean的id必须唯一,这个bean必须和自动注入的属性set方法的......
  • day04-实现SpringBoot底层机制
    实现SpringBoot底层机制Tomcat底层启动分析+Spring容器初始化+Tomcat关联Spring容器1.任务1-创建Tomcat,并启动(1)创建一个Maven项目,修改pom.xml文件:我们需要自己创建Tomca......
  • 问 cookie、localStorage、sessionStorage 区别
    解:cookie是在HTML4中使用的给客户端保存数据的,也可以和session配合实现跟踪浏览器用户身份;而webstorage(包括:localStorage和sessionStorage)是在HTML5提出来的,纯粹为了......