ruoyi集成积木报表

编程入门 行业动态 更新时间:2024-10-09 04:26:13

ruoyi集成<a href=https://www.elefans.com/category/jswz/34/1759403.html style=积木报表"/>

ruoyi集成积木报表

1.父级pom

            <dependency><groupId>org.jeecgframework.jimureport</groupId><artifactId>jimureport-spring-boot-starter</artifactId><version>1.5.2</version></dependency>

2.在admin pom中引入

        <dependency><groupId>org.jeecgframework.jimureport</groupId><artifactId>jimureport-spring-boot-starter</artifactId></dependency>

3.application启动类上添加:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, MongoAutoConfiguration.class },scanBasePackages = {"org.jeecg.modules.jmreport","com.zy"})

4.在SecurityConfig.java中添加允许匿名访问路径

"/jmreport/**"

5.在admin模块下创建权限控制类JimuReportTokenService

package com.zy.web.config;import com.zymon.core.domain.model.LoginUser;
import com.zy.framework.web.service.TokenService;
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletRequest;/*** 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制)* 1.自定义获取登录token* 2.自定义获取登录用户*/
@Component
public class JimuReportTokenService implements JmReportTokenServiceI {@Autowiredprivate TokenService tokenService;/*** 通过请求获取Token* @param request* @return*/@Overridepublic String getToken(HttpServletRequest request) {return request.getHeader("token");}/*** 通过Token获取登录人用户名* @param token* @return*/@Overridepublic String getUsername(String token) {LoginUser loginUser = tokenService.getLoginUser(token);if (null!=loginUser){tokenService.verifyToken(loginUser);}return null==loginUser?"anonymous":loginUser.getUsername();}/*** Token校验* @param token* @return*/@Overridepublic Boolean verifyToken(String token) {LoginUser loginUser = tokenService.getLoginUser(token);if (null!=loginUser){tokenService.verifyToken(loginUser);return true;}return false;}}

注:getUsername方法,可以设置为当前用户id,在报表中是可以通过#{sysUserCode}参数获得

 

6.zy.framework.web.service.TokenService新增重载以下方法

    /*** 获取用户身份信息** @return 用户信息*/public LoginUser getLoginUser(String token){// 获取请求携带的令牌if (StringUtils.isNotEmpty(token)){try{Claims claims = parseToken(token);// 解析对应的权限以及用户信息String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);String userKey = getTokenKey(uuid);LoginUser user = redisCache.getCacheObject(userKey);return user;}catch (Exception e){}}return null;}

7.数据库执行脚本下载地址

.mysql5.7.create.sql

8.报表地址

http://127.0.0.1:8100/jmreport/list?token=xxx

更多推荐

ruoyi集成积木报表

本文发布于:2024-02-06 17:38:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1750935.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:积木   报表   ruoyi

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!