package com.zheng.upms.client.shiro.session; import org.apache.shiro.session.Session; import org.apache.shiro.session.mgt.SessionContext; import org.apache.shiro.session.mgt.SessionFactory; import org.apache.shiro.web.session.mgt.WebSessionContext; import javax.servlet.http.HttpServletRequest; /** * session工厂 * Created by shuzheng on 2017/2/27. */ public class UpmsSessionFactory implements SessionFactory { @Override public Session createSession(SessionContext sessionContext) { UpmsSession session = new UpmsSession(); if (null != sessionContext && sessionContext instanceof WebSessionContext) { WebSessionContext webSessionContext = (WebSessionContext) sessionContext; HttpServletRequest request = (HttpServletRequest) webSessionContext.getServletRequest(); if (null != request) { session.setHost(request.getRemoteAddr()); session.setUserAgent(request.getHeader("User-Agent")); } } return session; } }