小编ngl*_*tha的帖子

无法序列化会话的会话属性 SPRING_SECURITY_CONTEXT

环境:Tomcat 6、Java 6、Redis 和 spring security-3.1.4

我尝试通过将用户会话添加到 Redis 缓存来集群 tomcat。我已将 tomcat-redis-session-manager-1.2-tomcat-6.jar 和 jedis-2.0.0.jar 复制到 tomcat lib 并将以下配置添加到 tomcat context.xml 中。

一切工作正常。但是当我尝试登录系统时出现以下异常。

似乎有一个 spring 安全上下文属性包含不可序列化的属性。请帮助解决这个问题。

上下文.xml

 <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
 <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
     host="127.0.0.1"
     port="6379"
     database="0"
     maxInactiveInterval="60" />



   org.apache.catalina.session.StandardSession writeObject
   WARNING: Cannot serialize session attribute SPRING_SECURITY_CONTEXT for session    DDB4A51B19CF042B227E312B546483EF
java.io.NotSerializableException: java.util.HashMap$KeySet
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) …
Run Code Online (Sandbox Code Playgroud)

java session spring-security tomcat6 redis

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×1

redis ×1

session ×1

spring-security ×1

tomcat6 ×1