更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio
演示地址:RuoYi-Nbcio后台管理系统
更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码: https://gitee.com/nbacheng/nbcio-boot
前端代码:https://gitee.com/nbacheng/nbcio-vue.git
在线演示(包括H5) : http://218.75.87.38:9888
今天刚好有空,升级一下一些组件
1、持久层框架:Mybatis-plus 升级到最新3.5.5,
2、报表工具: JimuReport 升级到最新1.6.6 但因为JSqlParser4.8最新版本与前面报表工具有冲突,
目前还没法升级到JSqlParser最新版本。
JimuReport升级到1.6.6的时候出现原先代码有问题
积木配置文件增加一个基类方法getRoles,具体内容如下:
/** * 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制) * * 1.自定义获取登录token * * 2.自定义获取登录用户 */ @Component public class JimuReportTokenService implements JmReportTokenServiceI { @Autowired private ISysBaseAPI sysBaseAPI; @Autowired @Lazy private RedisUtil redisUtil; @Override public String getToken(HttpServletRequest request) { return TokenUtils.getTokenByRequest(request); } @Override public String getUsername(String token) { return JwtUtil.getUsername(token); } @Override public Boolean verifyToken(String token) { return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil); } @Override public Map<String, Object> getUserInfo(String token) { String username = JwtUtil.getUsername(token); //此处通过token只能拿到一个信息 用户账号 后面的就是根据账号获取其他信息 查询数据或是走redis 用户根据自身业务可自定义 SysUserCacheInfo userInfo = sysBaseAPI.getCacheUser(username); Map<String, Object> map = new HashMap<String, Object>(); //设置账号名 map.put(SYS_USER_CODE, userInfo.getSysUserCode()); //设置部门编码 map.put(SYS_ORG_CODE, userInfo.getSysOrgCode()); // 将所有信息存放至map 解析sql/api会根据map的键值解析 return map; } @Override public String[] getRoles(String token) { String username = JwtUtil.getUsername(token); Set roles = sysBaseAPI.getUserRoleSet(username); if(CollectionUtils.isEmpty(roles)){ return null; } return (String[]) roles.toArray(new String[roles.size()]); } }
3、安全框架:Apache Shiro 升级到最新1.13.0
4、观察升级后的问题,目前还没发现相关问题。