Browse Source

添加gateway白名单处理;暂存用户token

dev
yujintao 6 years ago
parent
commit
c8e377c3d6
  1. 5
      esua-epdc/epdc-gateway/src/main/java/com/elink/esua/epdc/filter/CpAuthGatewayFilterFactory.java
  2. 5
      esua-epdc/epdc-gateway/src/main/java/com/elink/esua/epdc/filter/CpProperty.java
  3. 4
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  4. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

5
esua-epdc/epdc-gateway/src/main/java/com/elink/esua/epdc/filter/CpAuthGatewayFilterFactory.java

@ -97,6 +97,11 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
} }
private boolean pathMatcher(String requestUri) { private boolean pathMatcher(String requestUri) {
for (String url : cpProperty.getSwaggerUrls()) {
if (antPathMatcher.match(url, requestUri)) {
return false;
}
}
for (String url : cpProperty.getUrls()) { for (String url : cpProperty.getUrls()) {
if (antPathMatcher.match(url, requestUri)) { if (antPathMatcher.match(url, requestUri)) {
return true; return true;

5
esua-epdc/epdc-gateway/src/main/java/com/elink/esua/epdc/filter/CpProperty.java

@ -19,4 +19,9 @@ public class CpProperty {
private List<String> urls; private List<String> urls;
/**
* 不处理token直接通过
*/
private List<String> swaggerUrls;
} }

4
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -189,3 +189,7 @@ epdc:
# 党建e家接口 # 党建e家接口
urls: urls:
- /api/** - /api/**
# 不处理token,直接通过
swaggerUrls:
- /api/wx/getWxConfig
- /api/admin/dept/completeName

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -8,6 +8,7 @@ import com.elink.esua.epdc.common.token.util.TokenUtil;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.*; import com.elink.esua.epdc.commons.tools.utils.*;
import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
@ -77,6 +78,9 @@ public class AppUserServiceImpl implements AppUserService {
@Autowired @Autowired
private JwtTokenUtils jwtTokenUtils; private JwtTokenUtils jwtTokenUtils;
@Autowired
private RedisUtils redisUtils;
@Override @Override
public Result<EpdcAppAuthorizationDTO> getMpToken(EpdcAppUserTokenFormDTO formDto) { public Result<EpdcAppAuthorizationDTO> getMpToken(EpdcAppUserTokenFormDTO formDto) {
@ -168,6 +172,8 @@ public class AppUserServiceImpl implements AppUserService {
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class); TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
tokenDto.setUserId(userId); tokenDto.setUserId(userId);
cpUserDetailRedis.set(tokenDto, expire); cpUserDetailRedis.set(tokenDto, expire);
// 暂用,部署生产环境时删除
redisUtils.set("epdc:sys:security:cpuser:token:" + userId, token);
authorization.setUserState(AppUserStateEnum.REGISTERED.value()); authorization.setUserState(AppUserStateEnum.REGISTERED.value());
authorization.setToken(token); authorization.setToken(token);

Loading…
Cancel
Save