session共享
登录缓存清理 缓存更换为redis缓存代码提交
This commit is contained in:
@@ -11,6 +11,7 @@ import org.apache.shiro.session.UnknownSessionException;
|
||||
import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO;
|
||||
import org.apache.shiro.subject.PrincipalCollection;
|
||||
import org.apache.shiro.subject.support.DefaultSubjectContext;
|
||||
import org.crazycake.shiro.RedisSessionDAO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -26,7 +27,8 @@ import com.nis.util.StringUtils;
|
||||
* @author
|
||||
* @version
|
||||
*/
|
||||
public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements SessionDAO {
|
||||
/*public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements SessionDAO {*/
|
||||
public class CacheSessionDAO extends RedisSessionDAO {
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@@ -34,7 +36,7 @@ public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements Sessio
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
protected void doUpdate(Session session) {
|
||||
if (session == null || session.getId() == null) {
|
||||
return;
|
||||
@@ -60,9 +62,9 @@ public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements Sessio
|
||||
}
|
||||
super.doUpdate(session);
|
||||
logger.debug("update {} {}", session.getId(), request != null ? request.getRequestURI() : "");
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
protected void doDelete(Session session) {
|
||||
if (session == null || session.getId() == null) {
|
||||
return;
|
||||
@@ -70,7 +72,7 @@ public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements Sessio
|
||||
|
||||
super.doDelete(session);
|
||||
logger.debug("delete {} ", session.getId());
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
protected Serializable doCreate(Session session) {
|
||||
@@ -127,7 +129,6 @@ public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements Sessio
|
||||
* @param includeLeave 是否包括离线(最后访问时间大于3分钟为离线会话)
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Collection<Session> getActiveSessions(boolean includeLeave) {
|
||||
return getActiveSessions(includeLeave, null, null);
|
||||
}
|
||||
@@ -139,7 +140,6 @@ public class CacheSessionDAO extends EnterpriseCacheSessionDAO implements Sessio
|
||||
* @param filterSession 不为空,则过滤掉(不包含)这个会话。
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Collection<Session> getActiveSessions(boolean includeLeave, Object principal, Session filterSession) {
|
||||
// 如果包括离线,并无登录者条件。
|
||||
if (includeLeave && principal == null){
|
||||
|
||||
Reference in New Issue
Block a user