package com.zm.blog.config.shiro; import java.io.Serializable; import java.util.concurrent.TimeUnit; import javax.annotation.Resource; import org.apache.shiro.session.Session; import org.apache.shiro.session.UnknownSessionException; import org.apache.shiro.session.mgt.ValidatingSession; import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import com.zm.blog.utils.shiroUtil.SerializableUtils; public class MySessionDao extends EnterpriseCacheSessionDAO { int sessiontimeout=1800000; @Autowired private StringRedisTemplate stringRedisTemplate; @Resource(name = "redisTemplate") ValueOperations<Object, Object> valOps; @Override protected Serializable doCreate(Session session) { Serializable sessionId = generateSessionId(session); System.out.println("MySessionDao.doCreate();" + sessionId); assignSessionId(session, sessionId); valOps.set(sessionId, SerializableUtils.serialize(session), sessiontimeout, TimeUnit.MILLISECONDS); return session.getId(); } @Override protected Session doReadSession(Serializable sessionId) { System.out.println("MySessionDao.doReadSession();" + sessionId); if (valOps.get(sessionId) == null) { throw new UnknownSessionException("There is no session with id [" + sessionId + "]"); } return SerializableUtils.deserialize(valOps.get(sessionId).toString()); } @Override protected void doUpdate(Session session) { System.out.println("MySessionDao.doUpdate();" + session.getId()); if (session instanceof ValidatingSession && !((ValidatingSession) session).isValid()) { return; } valOps.set(session.getId(), SerializableUtils.serialize(session), sessiontimeout, TimeUnit.MILLISECONDS); } @Override protected void doDelete(Session session) { System.out.println("MySessionDao.doDelete();"); stringRedisTemplate.delete(session.getId().toString()); } }
spring boot爬坑之旅途--redis-MySessionDao配置(结合redis实现session共享)(11)
猜你喜欢
转载自blog.csdn.net/z3133464733/article/details/80215283
今日推荐
周排行