你是夏夜的萤火
2018-12-21 19:15
protected Session retrieveSession(SessionKey sessionKey) throws UnknownSessionException { Serializable sessionId = getSessionId(sessionKey); if(sessionId == null) { System.out.println("sessionId 为 null "); } ServletRequest request = null; if(sessionKey instanceof WebSessionKey) { request = ((WebSessionKey) sessionKey).getServletRequest(); } if(request == null) { System.out.println("request 为 null"); } if(request != null && sessionId != null) { Session session = (Session)request.getAttribute(sessionId.toString()); if(session != null) {//在request中取 System.out.println("从request中取..."); return session; } } Session session = super.retrieveSession(sessionKey);//从redis中取 if(request != null && sessionId != null) request.setAttribute(sessionId.toString(), session); return session; }
因为sessionId 和request 为 null ,所以也就用不了request 去存取 session 。不知道什么原因?有人帮忙解决一下吗?
苦了我一天,找到问题所在了!!
public class CustomSessionManager extends DefaultWebSessionManager
自定义的 CustomSessionManager 要继承 DefaultWebSessionManager ,而不是 DefaultSessionManager ,难怪获得的 sessionId 和 request 为 null,给后来者一个告诫,不要像我一样了。
Shiro安全框架入门
48040 学习 · 332 问题
相似问题
回答 1
回答 1