# 关于报表访问权限认证方案 [TOC] ## 自定义Token鉴权 自定义Token鉴权,需要实现下接口 JmReportTokenServiceI , 不实现则报表默认不做权限控制。 ~~~ @Component public class JimuReportTokenService implements JmReportTokenServiceI ~~~ 集成示例 * [JeecgBoot的实现](https://gitee.com/jeecg/jeecg-boot/blob/master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java) * [Jimureport-example示例](https://gitee.com/jeecg/JimuReport/blob/master/jimureport-example/src/main/java/org/jeecg/modules/jmreport/config/JimuReportTokenService.java) ## 接口Token鉴权方案 * 访问地址: {项目前缀}/jmreport/list?token=${token} * 在地址后面拼接上token值(这个由自己的业务完成) 原地址: ``` https://bootapi.jeecg.com/jmreport/view/1331429368098066432?token=??? ``` 程序拿到token后,会自动把token放在请求Header中,这样接口就可以接受到token,进行简单的权限验证。 ``` 目前在Header设置了两个参数: 1、token 2、X-Access-Token(更方便与jeecgboot项目集成) ``` ![](https://img.kancloud.cn/b2/49/b24964983b3949814b14d62bbbe73b03_1265x944.png) 这样就完成了一个相对简单的权限控制,可以控制接口访问安全。 ## 报表访问授权控制 针对报表预览请求地址进行权限控制的话,自己写个spring拦截器就可以了 ![](https://img.kancloud.cn/c8/0a/c80a20a2c49f9d6d68d3e6f666081591_1323x684.png)