|
|
@@ -111,4 +111,34 @@ public class JwtTokenAspect {
|
|
|
|
|
|
return jwt.getClaims();
|
|
|
}
|
|
|
+
|
|
|
+ public static Map<String, Claim> setBaseContextHolder(String token) {
|
|
|
+ DecodedJWT jwt = null;
|
|
|
+ if( StringUtils.isEmpty(token) || "null".equals(token) ){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ JWTVerifier verifier = null;
|
|
|
+ try {
|
|
|
+ verifier = JWT.require(Algorithm.HMAC256(SECRET)).build();
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ jwt = verifier.verify(token);
|
|
|
+ } catch (MyException e) {
|
|
|
+ throw new MyException(-505, "token过期");
|
|
|
+ }
|
|
|
+
|
|
|
+ Lock lock = new ReentrantLock();
|
|
|
+ lock.lock();
|
|
|
+ try {
|
|
|
+ BaseContextHolder.setUserId(Integer.valueOf(jwt.getClaim("id").asString()));
|
|
|
+ BaseContextHolder.setUserName(jwt.getClaim("name").asString());
|
|
|
+ BaseContextHolder.setRole(jwt.getClaim("role").asString());
|
|
|
+ } finally {
|
|
|
+ lock.unlock();
|
|
|
+ }
|
|
|
+
|
|
|
+ return jwt.getClaims();
|
|
|
+ }
|
|
|
}
|