Files
foton-slrs-system-rest/adc-da-base/src/main/java/com/adc/da/util/UserSysUtils.java
T

97 lines
2.2 KiB
Java

package com.adc.da.util;
import com.google.common.collect.Maps;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.UnavailableSecurityManagerException;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.session.InvalidSessionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
public class UserSysUtils {
private UserSysUtils() {
super();
}
private static Logger logger = LoggerFactory.getLogger(UserSysUtils.class);
/**
* 当前登陆用户
*/
public static final String CURRENT_USER = "currentUser";
/**
* 角色信息
*/
public static final String CACHE_ROLE_LIST = "roleList";
/**
* 菜单信息
*/
public static final String CACHE_MENU_LIST = "menuList";
public static final String CACHE_MENU_TREE = "menuTree";
public static final String CACHE_AREA_LIST = "areaList";
public static final String CACHE_OFFICE_LIST = "officeList";
/**
* @see JwtSysUtils
*/
private static JwtSysUtils jwtUtils = SpringContextHolder1.getBean(JwtSysUtils.class);
/**
* 退出
*/
public static void logout() {
try {
SecurityUtils.getSubject().logout();
} catch (UnavailableSecurityManagerException e) {
logger.error(e.getMessage(),e);
} catch (InvalidSessionException e) {
logger.error(e.getMessage(),e);
}
}
/**
* 获取当前登陆用户ID
* @throws Exception
*/
public static String getUserId() {
return jwtUtils.getUserIdByToken();
}
public static void flush() {
CacheUtils.removeCache(CURRENT_USER);
}
private static final class CacheUtils {
public static Object getCache(String key) {
return getCache(key, null);
}
public static Object getCache(String key, Object defaultValue) {
Object obj = getCacheMap().get(key);
return obj == null ? defaultValue : obj;
}
public static void putCache(String key, Object value) {
getCacheMap().put(key, value);
}
public static void removeCache(String key) {
getCacheMap().remove(key);
}
public static Map<String, Object> getCacheMap() {
Map<String, Object> map = Maps.newHashMap();
return map;
}
}
}