keys判定优化为精准判定
This commit is contained in:
parent
d45a96a919
commit
0f1cfc129c
@ -1,6 +1,7 @@
|
|||||||
package cn.lili.common.security.context;
|
package cn.lili.common.security.context;
|
||||||
|
|
||||||
import cn.lili.cache.Cache;
|
import cn.lili.cache.Cache;
|
||||||
|
import cn.lili.cache.CachePrefix;
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
import cn.lili.common.exception.ServiceException;
|
import cn.lili.common.exception.ServiceException;
|
||||||
import cn.lili.common.security.AuthUser;
|
import cn.lili.common.security.AuthUser;
|
||||||
@ -13,7 +14,6 @@ import org.springframework.web.context.request.RequestContextHolder;
|
|||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户上下文
|
* 用户上下文
|
||||||
@ -61,11 +61,13 @@ public class UserContext {
|
|||||||
*/
|
*/
|
||||||
public static AuthUser getAuthUser(Cache cache, String accessToken) {
|
public static AuthUser getAuthUser(Cache cache, String accessToken) {
|
||||||
try {
|
try {
|
||||||
|
AuthUser authUser = getAuthUser(accessToken);
|
||||||
|
assert authUser != null;
|
||||||
|
|
||||||
if (!cache.hasKey("*" + Objects.requireNonNull(UserContext.getAuthUser(accessToken)).getRole().name() + accessToken)) {
|
if (!cache.hasKey(CachePrefix.ACCESS_TOKEN.getPrefix(authUser.getRole()) + accessToken)) {
|
||||||
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
|
throw new ServiceException(ResultCode.USER_AUTHORITY_ERROR);
|
||||||
}
|
}
|
||||||
return getAuthUser(accessToken);
|
return authUser;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user