学习Spring Session和Redis解决分布式Session跨域共享问题


本文摘自PHP中文网,作者coldplay.xixi,侵删。

使用Spring Session和Redis解决分布式Session跨域共享问题

现象阐述:

在项目中前后端代码未做分离,在两台实例的情况下服务正常运行偶尔会弹出类似需要重新登录的提示,后台报错信息

这是处理器异常 原因并不明显

增加机器实例后,在访问前端页面的时候,一直重复访问登录页面,导致页面302,种种迹象表明是登录配置的问题引起的。

相关专题推荐:php session (包含图文、视频、案例)

问题引入:Session不能共享导致不同机器之间轮询要求登录导致最终的服务异常

解决方案:使用Spring Session和Redis解决分布式Session跨域共享问题

解决配置:

1 )添加依赖

1

2

3

4

5

6

7

8

9

10

<dependency>

  <groupId>org.springframework.session</groupId>

  <artifactId>spring-session-data-redis</artifactId>

  <version>1.2.0.RELEASE</version>

</dependency>

<dependency>

  <groupId>org.apache.velocity</groupId>

  <artifactId>velocity</artifactId>

  <version>1.7</version>

</dependency>

2 )web.xml配置文件添加:

1

2

3

4

5

6

7

8

9

<!-- 分布式Session共享Filter -->

<filter>

  <filter-name>springSessionRepositoryFilter</filter-name>

  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>

</filter>

<filter-mapping>

  <filter-name>springSessionRepositoryFilter</filter-name>

  <url-pattern>/*</url-pattern>

</filter-mapping>

3) Spring.xml的配置

阅读剩余部分

相关阅读 >>

Redis集群怎么防止脑裂

Redis如何实现限流?3种实现方式介绍

centos下Redis的安装方法介绍

Redis讲解分布式数据库cap原理

Redis添加systemctl服务的具体步骤

Redis是什么服务器

连接Redis集群报错:(error) moved的解决方法

Redis和mongodb区别

Redis为什么默认建立16个数据库

燕十八Redis视频资料下载(课件、源码)

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...