修复服务端当前用户记录错误. (#50)

pull/84/head
chen.ma 4 years ago
parent 2340f7bc8b
commit de28a9dc06

@ -75,7 +75,11 @@ public class JWTAuthorizationFilter extends BasicAuthenticationFilter {
return; return;
} }
try {
super.doFilterInternal(request, response, chain); super.doFilterInternal(request, response, chain);
} finally {
UserContext.clear();
}
} }
/** /**

@ -1,5 +1,9 @@
package cn.hippo4j.common.toolkit; package cn.hippo4j.common.toolkit;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* User context (Transition scheme). * User context (Transition scheme).
* *
@ -8,29 +12,33 @@ package cn.hippo4j.common.toolkit;
*/ */
public class UserContext { public class UserContext {
private static String username; private static final ThreadLocal<User> USER_THREAD_LOCAL = new ThreadLocal();
private static String userRole;
public static void setUserName(String username) { public static void setUserInfo(String username, String userRole) {
UserContext.username = username; USER_THREAD_LOCAL.set(new User(username, userRole));
} }
public static void setUserRole(String userRole) { public static String getUserName() {
UserContext.userRole = userRole; return USER_THREAD_LOCAL.get().username;
} }
public static void setUserInfo(String username, String userRole) { public static String getUserRole() {
UserContext.username = username; return USER_THREAD_LOCAL.get().userRole;
UserContext.userRole = userRole;
} }
public static String getUserName() { public static void clear() {
return username; USER_THREAD_LOCAL.remove();
} }
public static String getUserRole() { @Data
return userRole; @NoArgsConstructor
@AllArgsConstructor
static class User {
private String username;
private String userRole;
} }
} }

Loading…
Cancel
Save