Просмотр исходного кода

[TOKEN][调整]:优化token及过期变量存放位置

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
c3f7a9681e
14 измененных файлов: 39 добавлений и 47 удалений
  1. +3
    -3
      mallinkBApi/src/main/java/com/iformall/controller/BaseController.java
  2. +3
    -6
      mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java
  3. +3
    -5
      mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  4. +2
    -2
      mallinkBApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java
  5. +2
    -2
      mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  6. +3
    -3
      mallinkCApi/src/main/java/com/iformall/controller/BaseController.java
  7. +5
    -6
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  8. +3
    -5
      mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  9. +2
    -2
      mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java
  10. +2
    -2
      mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  11. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java
  12. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java
  13. +0
    -7
      mallinkService/src/main/java/com/iformall/utils/BaseConstant.java
  14. +7
    -0
      mallinkService/src/main/java/com/iformall/utils/Constant.java

+ 3
- 3
mallinkBApi/src/main/java/com/iformall/controller/BaseController.java Просмотреть файл

@@ -10,9 +10,9 @@ import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import com.iformall.utils.MaUtil; import com.iformall.utils.MaUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -56,7 +56,7 @@ public class BaseController {


public Long getUserId() { public Long getUserId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Long bUserId = (Long) request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY);
Long bUserId = (Long) request.getAttribute(Constant.LOGIN_USER_KEY);
return bUserId; return bUserId;
} }


@@ -70,7 +70,7 @@ public class BaseController {


public String getTenantId() { public String getTenantId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
String tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} }




+ 3
- 6
mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java Просмотреть файл

@@ -5,13 +5,10 @@ import com.iformall.annotation.AuthIgnore;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCUserVo;
import com.iformall.domain.vo.WxLevelMerchantCVo;
import com.iformall.enums.EnumLevelConfigDiscountStatus;
import com.iformall.enums.EnumMerchantBUserStatus; import com.iformall.enums.EnumMerchantBUserStatus;
import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantStatus;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.HashUtil; import com.iformall.utils.HashUtil;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -174,8 +171,8 @@ public class WxMerchantBUserController extends BaseController {
token = user1.getToken(); token = user1.getToken();
resultMap.put("token", token); resultMap.put("token", token);
resultMap.put("bUserId",user1.getId()); resultMap.put("bUserId",user1.getId());
request.setAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, user1.getId());
request.setAttribute(AuthorizationInterceptor.TENANT_ID, user1.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, user1.getId());
request.setAttribute(Constant.TENANT_ID, user1.getTenantId());
try { try {
wxMerchantBUserService.saveOrUpdate(user1); wxMerchantBUserService.saveOrUpdate(user1);
} catch (Exception e) { } catch (Exception e) {


+ 3
- 5
mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java Просмотреть файл

@@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.utils.Constant;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -26,9 +27,6 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
@Autowired @Autowired
private WxMerchantBUserService wxMerchantBUserService; private WxMerchantBUserService wxMerchantBUserService;


public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY";
public static final String TENANT_ID = "TENANT_ID";

@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
AuthIgnore annotation; AuthIgnore annotation;
@@ -63,8 +61,8 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
} }


//设置userId到request里,后续根据userId,获取用户信息 //设置userId到request里,后续根据userId,获取用户信息
request.setAttribute(LOGIN_USER_KEY, wxMerchantBUser.getId());
request.setAttribute(TENANT_ID, wxMerchantBUser.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, wxMerchantBUser.getId());
request.setAttribute(Constant.TENANT_ID, wxMerchantBUser.getTenantId());


return true; return true;
} }


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java Просмотреть файл

@@ -3,8 +3,8 @@ package com.iformall.resolver;
import com.iformall.annotation.LoginUser; import com.iformall.annotation.LoginUser;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.utils.Constant;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -34,7 +34,7 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container,
NativeWebRequest request, WebDataBinderFactory factory) throws Exception { NativeWebRequest request, WebDataBinderFactory factory) throws Exception {
//获取用户ID //获取用户ID
Object object = request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
Object object = request.getAttribute(Constant.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
if(object == null){ if(object == null){
return null; return null;
} }


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.tenant; package com.iformall.tenant;


import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.plugin.TenantInfo; import com.iformall.plugin.TenantInfo;
import com.iformall.utils.Constant;
import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.MappedStatement;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -18,7 +18,7 @@ public class TenantInfoImpl implements TenantInfo {
String tenantId = null; String tenantId = null;
try { try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} catch (Exception e) { } catch (Exception e) {
logger.error("getTenantId: " + e.getMessage()); logger.error("getTenantId: " + e.getMessage());


+ 3
- 3
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java Просмотреть файл

@@ -6,10 +6,10 @@ import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import com.iformall.utils.MaUtil; import com.iformall.utils.MaUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -62,13 +62,13 @@ public class BaseController {


public String getTenantId() { public String getTenantId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
String tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} }


public Long getUserId() { public Long getUserId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Long cUserId = (Long) request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY);
Long cUserId = (Long) request.getAttribute(Constant.LOGIN_USER_KEY);
return cUserId; return cUserId;
} }




+ 5
- 6
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Просмотреть файл

@@ -17,14 +17,13 @@ import com.iformall.domain.vo.WxLevelMerchantCVo;
import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumLevelConfigDiscountStatus; import com.iformall.enums.EnumLevelConfigDiscountStatus;
import com.iformall.enums.EnumScoreType; import com.iformall.enums.EnumScoreType;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -152,8 +151,8 @@ public class WxUserGrantController extends BaseController {
token = user1.createToken(new Date()); token = user1.createToken(new Date());


resultMap.put("token", token); resultMap.put("token", token);
request.setAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, user1.getId());
request.setAttribute(AuthorizationInterceptor.TENANT_ID, user1.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, user1.getId());
request.setAttribute(Constant.TENANT_ID, user1.getTenantId());


user1.setRegisterIp(ipaddress); user1.setRegisterIp(ipaddress);
user1.setSessionKey(session_key); user1.setSessionKey(session_key);
@@ -202,8 +201,8 @@ public class WxUserGrantController extends BaseController {
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);


resultMap.put("token", token); resultMap.put("token", token);
request.setAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, user.getId());
request.setAttribute(AuthorizationInterceptor.TENANT_ID, user.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, user.getId());
request.setAttribute(Constant.TENANT_ID, user.getTenantId());
// 成长值 // 成长值
try { try {
wxCUserService.scoreCalculate(user, true); wxCUserService.scoreCalculate(user, true);


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java Просмотреть файл

@@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -26,9 +27,6 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
@Autowired @Autowired
private WxCUserService wxCUserService; private WxCUserService wxCUserService;


public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY";
public static final String TENANT_ID = "TENANT_ID";

@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
AuthIgnore annotation; AuthIgnore annotation;
@@ -62,8 +60,8 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
} }


//设置userId到request里,后续根据userId,获取用户信息 //设置userId到request里,后续根据userId,获取用户信息
request.setAttribute(LOGIN_USER_KEY, wxCUser.getId());
request.setAttribute(TENANT_ID, wxCUser.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, wxCUser.getId());
request.setAttribute(Constant.TENANT_ID, wxCUser.getTenantId());


return true; return true;
} }


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java Просмотреть файл

@@ -2,8 +2,8 @@ package com.iformall.resolver;


import com.iformall.annotation.LoginUser; import com.iformall.annotation.LoginUser;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -33,7 +33,7 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container,
NativeWebRequest request, WebDataBinderFactory factory) throws Exception { NativeWebRequest request, WebDataBinderFactory factory) throws Exception {
//获取用户ID //获取用户ID
Object object = request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
Object object = request.getAttribute(Constant.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
if(object == null){ if(object == null){
return null; return null;
} }


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.tenant; package com.iformall.tenant;


import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.plugin.TenantInfo; import com.iformall.plugin.TenantInfo;
import com.iformall.utils.Constant;
import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.MappedStatement;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -18,7 +18,7 @@ public class TenantInfoImpl implements TenantInfo {
String tenantId = null; String tenantId = null;
try { try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java Просмотреть файл

@@ -1,7 +1,7 @@
package com.iformall.domain.po; package com.iformall.domain.po;


import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.iformall.utils.BaseConstant;
import com.iformall.utils.Constant;


import javax.persistence.*; import javax.persistence.*;
import java.util.*; import java.util.*;
@@ -469,7 +469,7 @@ public class WxCUser implements Serializable {
//生成一个token //生成一个token
this.token = UUID.randomUUID().toString(); this.token = UUID.randomUUID().toString();
//过期时间 //过期时间
this.expireTime = new Date(currentDate.getTime() + BaseConstant.EXPIRE * 1000);
this.expireTime = new Date(currentDate.getTime() + Constant.EXPIRE * 1000);
} }
return this.token; return this.token;
} }


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java Просмотреть файл

@@ -1,6 +1,6 @@
package com.iformall.domain.po; package com.iformall.domain.po;


import com.iformall.utils.BaseConstant;
import com.iformall.utils.Constant;


import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
@@ -240,7 +240,7 @@ public class WxMerchantBUser implements Serializable {
//生成一个token //生成一个token
String token = UUID.randomUUID().toString(); String token = UUID.randomUUID().toString();
//过期时间 //过期时间
Date expireTime = new Date(currentDate.getTime() + BaseConstant.EXPIRE * 1000);
Date expireTime = new Date(currentDate.getTime() + Constant.EXPIRE * 1000);
setToken(token); setToken(token);
setExpireTime(expireTime); setExpireTime(expireTime);
} }


+ 0
- 7
mallinkService/src/main/java/com/iformall/utils/BaseConstant.java Просмотреть файл

@@ -1,7 +0,0 @@
package com.iformall.utils;

public class BaseConstant {

//24小时后过期
public final static int EXPIRE = 3600 * 24;
}

+ 7
- 0
mallinkService/src/main/java/com/iformall/utils/Constant.java Просмотреть файл

@@ -2,6 +2,13 @@ package com.iformall.utils;


public class Constant { public class Constant {


//TOKEN过期时间, 24小时后过期
public final static int EXPIRE = 3600 * 24;

// C端token
public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY";
public static final String TENANT_ID = "TENANT_ID";

public static final String fileDirectory = "./uploads/"; public static final String fileDirectory = "./uploads/";
public static final String importMemPrev = "importmem/"; public static final String importMemPrev = "importmem/";
public static final String adminPage = "http://admin.malls.iformall.com"; public static final String adminPage = "http://admin.malls.iformall.com";


Загрузка…
Отмена
Сохранить