|
@@ -19,6 +19,7 @@
|
|
|
|
|
|
package edp.davinci.core.inteceptor;
|
|
|
|
|
|
+import edp.davinci.dto.userDto.UserRegist;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -111,19 +112,23 @@ public class AuthenticationInterceptor implements HandlerInterceptor
|
|
|
}
|
|
|
|
|
|
// token 不为空
|
|
|
- if(StringUtils.isNotEmpty(token)){
|
|
|
+ if (StringUtils.isNotEmpty(token))
|
|
|
+ {
|
|
|
// 兼容之前登录
|
|
|
- if(token.startsWith(Constants.TOKEN_PREFIX)){
|
|
|
+ if (token.startsWith(Constants.TOKEN_PREFIX))
|
|
|
+ {
|
|
|
String username = tokenUtils.getUsername(token);
|
|
|
User userInfo = userService.getByUsername(username);
|
|
|
- if(StringUtils.isNotEmpty(username)){
|
|
|
+ if (StringUtils.isNotEmpty(username))
|
|
|
+ {
|
|
|
request.setAttribute(Constants.CURRENT_USER, userInfo);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
// 统一认证
|
|
|
JSONObject acessToken = (JSONObject) redisUtils.get(token);
|
|
|
- if(acessToken == null){
|
|
|
+ if (acessToken == null)
|
|
|
+ {
|
|
|
log.debug("token is not found in redis");
|
|
|
response.setStatus(HttpCodeEnum.UNAUTHORIZED.getCode());
|
|
|
response.getWriter().print(ErrorMsg.ERR_LOAD_DATA_TOKEN);
|
|
@@ -133,14 +138,12 @@ public class AuthenticationInterceptor implements HandlerInterceptor
|
|
|
User user = userService.getByUsername(userinfoObject.getString("username"));
|
|
|
if (null == user)
|
|
|
{
|
|
|
- if (!request.getServletPath().endsWith("/download/page"))
|
|
|
- {
|
|
|
- log.debug("{} : token user not found", request.getServletPath());
|
|
|
- }
|
|
|
- response.setStatus(HttpCodeEnum.FORBIDDEN.getCode());
|
|
|
- response.getWriter().print(ErrorMsg.ERR_MSG_PERMISSION);
|
|
|
- return false;
|
|
|
-
|
|
|
+ // 用户不存在的时候,插入用户
|
|
|
+ UserRegist userRegist = new UserRegist();
|
|
|
+ userRegist.setUsername(userinfoObject.getString("username"));
|
|
|
+ userRegist.setEmail(userinfoObject.getString("email"));
|
|
|
+ userRegist.setPassword(userinfoObject.getString("password"));
|
|
|
+ userService.regist(userRegist);
|
|
|
}
|
|
|
request.setAttribute(Constants.CURRENT_USER, user);
|
|
|
}
|
|
@@ -158,21 +161,23 @@ public class AuthenticationInterceptor implements HandlerInterceptor
|
|
|
}
|
|
|
JSONObject userinfoObject = (JSONObject) JSONObject.toJSON(redisMap);
|
|
|
JSONObject userInfo = userinfoObject.getJSONObject("userInfo");
|
|
|
- if(null == userinfoObject){
|
|
|
- log.debug("{} : userinfoObject is null", userinfoObject.toJSONString());
|
|
|
+ if (null == userinfoObject)
|
|
|
+ {
|
|
|
+ log.debug("{} : userinfo Object is null", userinfoObject.toJSONString());
|
|
|
}
|
|
|
User user = userService.getByUsername(userInfo.getString("username"));
|
|
|
if (null == user)
|
|
|
{
|
|
|
- if (!request.getServletPath().endsWith("/download/page"))
|
|
|
- {
|
|
|
- log.debug("{} : token user not found", request.getServletPath());
|
|
|
- }
|
|
|
- response.setStatus(HttpCodeEnum.FORBIDDEN.getCode());
|
|
|
- response.getWriter().print(ErrorMsg.ERR_MSG_PERMISSION);
|
|
|
- return false;
|
|
|
+ // 用户不存在的时候,插入用户
|
|
|
+ UserRegist userRegist = new UserRegist();
|
|
|
+ userRegist.setUsername(userInfo.getString("username"));
|
|
|
+ userRegist.setEmail(userInfo.getString("email"));
|
|
|
+ userRegist.setPassword(userInfo.getString("password"));
|
|
|
+ userService.regist(userRegist);
|
|
|
+ user = userService.getByUsername(userInfo.getString("username"));
|
|
|
|
|
|
}
|
|
|
+
|
|
|
request.setAttribute(Constants.CURRENT_USER, user);
|
|
|
}
|
|
|
|