Browse Source

1.去掉token权限认证逻辑,使用header中获取

dev
wxz 2 years ago
parent
commit
c4f5c4b4a7
  1. 38
      tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java
  2. 2
      tduck-api/src/main/resources/application.yml
  3. 7
      tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java

38
tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java

@ -17,6 +17,7 @@ import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List; import java.util.List;
/** /**
@ -44,6 +45,39 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// return authFromToken(request);
return authByHeader(request);
}
private boolean authByHeader(HttpServletRequest request) {
LoginUserVO loginUserVO = new LoginUserVO();
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
if (name.toLowerCase().equals("customerid")) {
loginUserVO.setCustomerId(request.getHeader(name));
}
if (name.toLowerCase().equals("userid")) {
String userId = request.getHeader(name);
loginUserVO.setUserId(userId);
request.setAttribute(USER_KEY, userId);
}
}
if (StringUtils.isBlank(loginUserVO.getCustomerId())) {
loginUserVO.setCustomerId(CommonConstants.LOGIN_USER_CUSTOMER_ANONYMOUS);
}
if (StringUtils.isBlank(loginUserVO.getUserId())) {
loginUserVO.setUserId(CommonConstants.LOGIN_USER_ID_ANONYMOUS);
}
LoginUserUtil.set(loginUserVO);
return true;
}
private boolean authByToken(HttpServletRequest request) {
Login annotation; Login annotation;
/*if (handler instanceof HandlerMethod) { /*if (handler instanceof HandlerMethod) {
annotation = ((HandlerMethod) handler).getMethodAnnotation(Login.class); annotation = ((HandlerMethod) handler).getMethodAnnotation(Login.class);
@ -54,6 +88,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
if (annotation == null) { if (annotation == null) {
return true; return true;
}*/ }*/
String requestURI = request.getRequestURI(); String requestURI = request.getRequestURI();
if (isSkip(requestURI)){ if (isSkip(requestURI)){
@ -85,11 +120,12 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
//设置用户信息到threadLocal中 //设置用户信息到threadLocal中
LoginUserVO loginUserVO = new LoginUserVO(); LoginUserVO loginUserVO = new LoginUserVO();
if (StringUtils.isBlank(customerId)){ if (StringUtils.isBlank(customerId)){
customerId = CommonConstants.DEFAULT_FREE_OPEN_CUSTOMER_ID; customerId = CommonConstants.LOGIN_USER_CUSTOMER_ANONYMOUS;
} }
loginUserVO.setCustomerId(customerId); loginUserVO.setCustomerId(customerId);
loginUserVO.setUserId(userId); loginUserVO.setUserId(userId);
LoginUserUtil.set(loginUserVO); LoginUserUtil.set(loginUserVO);
return true; return true;
} }

2
tduck-api/src/main/resources/application.yml

@ -78,7 +78,7 @@ platform:
aj: aj:
captcha: captcha:
enable: true enable: false
water-mark: empet water-mark: empet
cache-type: redis cache-type: redis
type: default type: default

7
tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java

@ -44,7 +44,12 @@ public interface CommonConstants {
/** /**
* 平台其他散户默认客户Id * 平台其他散户默认客户Id
*/ */
String DEFAULT_FREE_OPEN_CUSTOMER_ID = "free_open"; String LOGIN_USER_CUSTOMER_ANONYMOUS = "anonymous";
/**
* 当前登录用户匿名用户
*/
String LOGIN_USER_ID_ANONYMOUS = "anonymous";
/** /**

Loading…
Cancel
Save