session共享
登录缓存清理 缓存更换为redis缓存代码提交
This commit is contained in:
@@ -24,7 +24,12 @@ import org.apache.axis2.client.Options;
|
||||
import org.apache.axis2.client.ServiceClient;
|
||||
import org.apache.axis2.rpc.client.RPCServiceClient;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.shiro.authc.AuthenticationInfo;
|
||||
import org.apache.shiro.session.Session;
|
||||
import org.crazycake.shiro.exception.SerializationException;
|
||||
import org.crazycake.shiro.serializer.ObjectSerializer;
|
||||
import org.crazycake.shiro.serializer.RedisSerializer;
|
||||
import org.crazycake.shiro.serializer.StringSerializer;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -39,15 +44,19 @@ import com.nis.util.TimeConstants;
|
||||
import com.nis.web.dao.SrcIpDao;
|
||||
import com.nis.web.dao.SysOfficeDao;
|
||||
import com.nis.web.dao.UserDao;
|
||||
import com.nis.web.security.CacheSessionDAO;
|
||||
import com.nis.web.security.Servlets;
|
||||
import com.nis.web.security.SessionDAO;
|
||||
import com.nis.web.security.UserUtils;
|
||||
|
||||
import antlr.StringUtils;
|
||||
|
||||
@Service
|
||||
public class SystemService extends BaseService{
|
||||
|
||||
@Autowired
|
||||
private SessionDAO sessionDao;
|
||||
private CacheSessionDAO sessionDao;
|
||||
/*private SessionDAO sessionDao;*/
|
||||
|
||||
@Autowired
|
||||
private UserDao userDao;
|
||||
@@ -57,7 +66,8 @@ public class SystemService extends BaseService{
|
||||
|
||||
@Autowired
|
||||
private SrcIpDao srcIpDao;
|
||||
|
||||
private RedisSerializer keySerializer = new StringSerializer();
|
||||
private RedisSerializer valueSerializer = new ObjectSerializer();
|
||||
|
||||
public Collection<Session> getActiveSessions(boolean includeLeave) {
|
||||
return sessionDao.getActiveSessions(includeLeave);
|
||||
@@ -72,6 +82,17 @@ public class SystemService extends BaseService{
|
||||
sessionDao.delete(session);
|
||||
}
|
||||
|
||||
public void deleteAuthenticationCache(String authenticationInfo) {
|
||||
if (org.apache.commons.lang3.StringUtils.isBlank(authenticationInfo)) {
|
||||
logger.error("AuthenticationInfo is null");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
sessionDao.getRedisManager().del(keySerializer.serialize(authenticationInfo));
|
||||
} catch (SerializationException e) {
|
||||
logger.error("delete AuthenticationInfo error. AuthenticationInfo key=" + authenticationInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public SysUser getUserByLoginName(String loginName) {
|
||||
return UserUtils.getByLoginName(loginName);
|
||||
|
||||
Reference in New Issue
Block a user