通过spring-session零侵入解决Tomcat集群后带来的登录问题

紧跟上一篇文章(https://blog.csdn.net/qq_37585236/article/details/81747711),在上一篇文章中通过cookie+redis实现单点登录解决Tomcat集群后的登录问题,但是通过cookie+redis实现的单点登录是侵入业务中的,本次通过spring-session实现无侵入单点登录。

 

POM:

    org.springframework.session

    spring-session-data-redis

    1.2.0.RELEASE

 

一.  在web.xml中添加spring-session代理过滤器

     


   
springSessionRepositoryFilter
   
org.springframework.web.filter.DelegatingFilterProxy


   
springSessionRepositoryFilter
   
*.do

  

二.  编写spring-session.xml 配置文件

applicationContext-spring-session.xml:




    

    
        
        
        
            
                classpath:mmall.properties
            
        
        
    

    
        
        
    

    
        
        
        
        
        
        
        
        
        
        
    

    
        
        
        
        
        
    

    
    
        
        
        
        
        
    

三.    在applicationContext.xml主配置文件中import 上述配置文件

 

四.    实操

在controller层的接口方法中,还是使用原生的session

通过spring-session零侵入解决Tomcat集群后带来的登录问题_第1张图片

!!!!重要:实体类要继承Serializable以便jedis序列化

这样,spring-session无侵入的单点登录完成,用户名密码正确后,该session就不是原来的HttpSession,而是通过过滤器代理之后的:

通过spring-session零侵入解决Tomcat集群后带来的登录问题_第2张图片

这样,Redis中插入了用户登录信息:

通过spring-session零侵入解决Tomcat集群后带来的登录问题_第3张图片

 

项目地址:https://github.com/ITFengShuiMaster/mmall_learning/tree/v2.0

你可能感兴趣的:(Tomcat)