Commit 64bf0767 by zhiwj

优化登录

parent 30b546b8
...@@ -34,16 +34,12 @@ public class UserContext { ...@@ -34,16 +34,12 @@ public class UserContext {
} }
public UserDetail get(){ public UserDetail get(){
return (UserDetail) RequestContext.getContext().getRequest().getAttribute("user");
}
public UserDetail getByRedis(){
String token = getToken(); String token = getToken();
if(StringUtils.isBlank(token)){ return getByToken(token);
return new UserDetail();
}
String key = Constants.TOKEN_KEY + token;
Object cache = RedisUtil.getCache(key);
if(cache != null){
return (UserDetail) cache;
}
return new UserDetail();
} }
public UserDetail getByToken(String token) { public UserDetail getByToken(String token) {
......
package com.gic.enterprise.interceptor; package com.gic.enterprise.interceptor;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.dubbo.rpc.RpcContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.enterprise.ano.IgnoreLogin; import com.gic.enterprise.ano.IgnoreLogin;
import com.gic.enterprise.base.MenuInfo; import com.gic.enterprise.base.MenuInfo;
...@@ -23,7 +8,19 @@ import com.gic.enterprise.context.UserContext; ...@@ -23,7 +8,19 @@ import com.gic.enterprise.context.UserContext;
import com.gic.enterprise.error.ErrorCode; import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.exception.CommonException; import com.gic.enterprise.exception.CommonException;
import com.gic.enterprise.utils.UserDetail; import com.gic.enterprise.utils.UserDetail;
import com.gic.enterprise.utils.UserDetailUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.dubbo.rpc.RpcContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AuthInterceptor extends HandlerInterceptorAdapter { public class AuthInterceptor extends HandlerInterceptorAdapter {
...@@ -81,10 +78,11 @@ public class AuthInterceptor extends HandlerInterceptorAdapter { ...@@ -81,10 +78,11 @@ public class AuthInterceptor extends HandlerInterceptorAdapter {
return true; return true;
} }
//判断是否有权限的路径 //判断是否有权限的路径
UserDetail userDetail = UserDetailUtils.getUserDetail(); UserDetail userDetail = UserContext.getContext().getByRedis();
if (userDetail == null || userDetail.getUserInfo() == null) { if (userDetail == null || userDetail.getUserInfo() == null) {
throw new CommonException(ErrorCode.LOGIN_INVALID.getErrorCode(), "登录信息不存在,请登录"); throw new CommonException(ErrorCode.LOGIN_INVALID.getErrorCode(), "登录信息不存在,请登录");
} }
request.setAttribute("user", userDetail);
//不需要拦截的路径 //不需要拦截的路径
if (ignoreUriAfterLoginMap.containsKey(uri)) { if (ignoreUriAfterLoginMap.containsKey(uri)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment