/**
-
全局user
-
@author 刘洋
-
@date 2020-04-30
*/
public class LocalUser {
private static ThreadLocal<Map<String, Object>> threadLocal = new ThreadLocal<>();public static void set(YxUser user, Integer scope) {
Map<String, Object> map = new HashMap<>();
map.put(“user”, user);
map.put(“scope”, scope);
LocalUser.threadLocal.set(map);
}public static void clear() {
LocalUser.threadLocal.remove();
}public static YxUser getUser() {
Map<String, Object> map = LocalUser.threadLocal.get();
YxUser user = (YxUser)map.get(“user”);
return user;
}public static Integer getScope() {
Map<String, Object> map = LocalUser.threadLocal.get();
Integer scope = (Integer)map.get(“scope”);
return scope;
}public static Long getUidByToken(){
String bearerToken = RequestUtils.getRequest().getHeader(“Authorization”);
if (StringUtils.isEmpty(bearerToken)) {
return 0L;
}if (!bearerToken.startsWith("Bearer")) { return 0L; } String[] tokens = bearerToken.split(" "); if (!(tokens.length == 2)) { return 0L; } String token = tokens[1]; Optional<Map<String, Claim>> optionalMap = JwtToken.getClaims(token); Map<String, Claim> map = optionalMap .orElseThrow(() -> new UnAuthenticatedException(ApiCode.UNAUTHORIZED)); return map.get("uid").asLong();
}
}
获取进来的用户的 IP地址
/**
-
请求详情信息
-
@author niuniu
-
@date 2020-04-30
*/
@Data
@Accessors(chain = true)
public class RequestDetail implements Serializable {
private static final long serialVersionUID = 2543641512850125440L;/**
- 请求ip地址
*/
private String ip;
/**
- 请求路径
*/
private String path;
- 请求ip地址
}