【代码修复】REPORT:修复积木在访问 jmreport/index 会报错的问题

This commit is contained in:
YunaiV 2024-07-23 22:15:14 +08:00
parent 2a4882e8d6
commit 39bf9cf5b0
2 changed files with 9 additions and 5 deletions

View File

@ -133,6 +133,13 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI {
@Override @Override
public String[] getRoles(String token) { public String[] getRoles(String token) {
// 设置租户上下文原因是/jmreport/** 纯前端地址不会走 buildLoginUserByToken 逻辑
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
if (loginUser == null) {
return null;
}
TenantContextHolder.setTenantId(loginUser.getTenantId());
// 参见文档 https://help.jeecg.com/jimureport/prodSafe.html 文档 // 参见文档 https://help.jeecg.com/jimureport/prodSafe.html 文档
// 适配如果是本系统的管理员则转换成 jimu 报表的管理员 // 适配如果是本系统的管理员则转换成 jimu 报表的管理员
Long userId = SecurityFrameworkUtils.getLoginUserId(); Long userId = SecurityFrameworkUtils.getLoginUserId();

View File

@ -1,8 +1,6 @@
package cn.iocoder.yudao.module.report.framework.security.config; package cn.iocoder.yudao.module.report.framework.security.config;
import cn.iocoder.yudao.framework.security.config.AuthorizeRequestsCustomizer; import cn.iocoder.yudao.framework.security.config.AuthorizeRequestsCustomizer;
import cn.iocoder.yudao.module.system.api.oauth2.OAuth2TokenApi;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@ -14,16 +12,15 @@ import org.springframework.security.config.annotation.web.configurers.AuthorizeH
@Configuration("reportSecurityConfiguration") @Configuration("reportSecurityConfiguration")
public class SecurityConfiguration { public class SecurityConfiguration {
@Resource
private OAuth2TokenApi oauth2TokenApi;
@Bean("reportAuthorizeRequestsCustomizer") @Bean("reportAuthorizeRequestsCustomizer")
public AuthorizeRequestsCustomizer authorizeRequestsCustomizer() { public AuthorizeRequestsCustomizer authorizeRequestsCustomizer() {
return new AuthorizeRequestsCustomizer() { return new AuthorizeRequestsCustomizer() {
@Override @Override
public void customize(AuthorizeHttpRequestsConfigurer<HttpSecurity>.AuthorizationManagerRequestMatcherRegistry registry) { public void customize(AuthorizeHttpRequestsConfigurer<HttpSecurity>.AuthorizationManagerRequestMatcherRegistry registry) {
registry.requestMatchers("/jmreport/**").permitAll(); // 积木报表 registry.requestMatchers("/jmreport/**").permitAll(); // 积木报表
} }
}; };
} }