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) {
for (String url : cpProperty.getSwaggerUrls()) {
if (antPathMatcher.match(url, requestUri)) {
return false;
}
}
for (String url : cpProperty.getUrls()) {
if (antPathMatcher.match(url, requestUri)) {
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;
/**
* 不处理token直接通过
*/
private List<String> swaggerUrls;
}

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

@ -189,3 +189,7 @@ epdc:
# 党建e家接口
urls:
- /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.enums.YesOrNoEnum;
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.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.UserDTO;
@ -77,6 +78,9 @@ public class AppUserServiceImpl implements AppUserService {
@Autowired
private JwtTokenUtils jwtTokenUtils;
@Autowired
private RedisUtils redisUtils;
@Override
public Result<EpdcAppAuthorizationDTO> getMpToken(EpdcAppUserTokenFormDTO formDto) {
@ -168,6 +172,8 @@ public class AppUserServiceImpl implements AppUserService {
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
tokenDto.setUserId(userId);
cpUserDetailRedis.set(tokenDto, expire);
// 暂用,部署生产环境时删除
redisUtils.set("epdc:sys:security:cpuser:token:" + userId, token);
authorization.setUserState(AppUserStateEnum.REGISTERED.value());
authorization.setToken(token);

Loading…
Cancel
Save