mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-25 00:15:06 +08:00
fix: 积木报表 API 数据集解析时 token 未正确解析的问题
This commit is contained in:
@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.common.enums;
|
||||
|
||||
/**
|
||||
* Web 过滤器顺序的枚举类,保证过滤器按照符合我们的预期
|
||||
*
|
||||
* 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enums 包下
|
||||
* <p>
|
||||
* 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enums 包下
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@ -17,7 +17,9 @@ public interface WebFilterOrderEnum {
|
||||
|
||||
// OrderedRequestContextFilter 默认为 -105,用于国际化上下文等等
|
||||
|
||||
int TENANT_CONTEXT_FILTER = - 104; // 需要保证在 ApiAccessLogFilter 前面
|
||||
int JM_TOKEN_FILTER = -105; // 需要保证在 Spring Security 过滤前面
|
||||
|
||||
int TENANT_CONTEXT_FILTER = -104; // 需要保证在 ApiAccessLogFilter 前面
|
||||
|
||||
int API_ACCESS_LOG_FILTER = -103; // 需要保证在 RequestBodyCacheFilter 后面
|
||||
|
||||
|
@ -20,8 +20,6 @@ public class SecurityProperties {
|
||||
@NotEmpty(message = "Token Header 不能为空")
|
||||
private String tokenHeader = "Authorization";
|
||||
|
||||
private String jmTokenHeader = "X-Access-Token";
|
||||
|
||||
/**
|
||||
* mock 模式的开关
|
||||
*/
|
||||
|
@ -21,7 +21,6 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Token 过滤器,验证 token 的有效性
|
||||
@ -63,25 +62,6 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
|
||||
return;
|
||||
}
|
||||
}
|
||||
// 积木请求头
|
||||
String jmTokenHeader = request.getHeader(securityProperties.getJmTokenHeader());
|
||||
if (StrUtil.isNotEmpty(jmTokenHeader)) {
|
||||
try {
|
||||
OAuth2AccessTokenCheckRespDTO accessToken = oauth2TokenApi.checkAccessToken(jmTokenHeader);
|
||||
Optional<LoginUser> optUser = Optional.ofNullable(accessToken)
|
||||
.map(
|
||||
t -> new LoginUser().setId(t.getUserId())
|
||||
.setUserType(t.getUserType())
|
||||
.setTenantId(t.getTenantId())
|
||||
.setScopes(t.getScopes())
|
||||
);
|
||||
if (optUser.isPresent()) {
|
||||
SecurityFrameworkUtils.setLoginUser(optUser.get(), request);
|
||||
}
|
||||
} catch (ServiceException ignored) {
|
||||
// do nothing:如果报错,说明认证失败,忽略即可
|
||||
}
|
||||
}
|
||||
|
||||
// 继续过滤链
|
||||
chain.doFilter(request, response);
|
||||
@ -108,11 +88,11 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
|
||||
|
||||
/**
|
||||
* 模拟登录用户,方便日常开发调试
|
||||
* <p>
|
||||
*
|
||||
* 注意,在线上环境下,一定要关闭该功能!!!
|
||||
*
|
||||
* @param request 请求
|
||||
* @param token 模拟的 token,格式为 {@link SecurityProperties#getMockSecret()} + 用户编号
|
||||
* @param request 请求
|
||||
* @param token 模拟的 token,格式为 {@link SecurityProperties#getMockSecret()} + 用户编号
|
||||
* @param userType 用户类型
|
||||
* @return 模拟的 LoginUser
|
||||
*/
|
||||
|
Reference in New Issue
Block a user