一、该问题的重现步骤是什么?
1. 超管登录,新增租户,新建租户产品包⇒设置菜单(工作台→通知公告)
2. 给租户admin角色配置菜单⇒(工作台→通知公告→查看)
3.退出登录,用租户admin登录,菜单显示无,并没有显示配置的菜单(工作台→通知公告→查看)
二、你期待的结果是什么?实际看到的又是什么?
期待结果:租户admin登录,正常显示菜单:工作台→通知公告→查看
实际结果:租户admin登录,工作台菜单显示无
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex-boot 3.2.0、企业版、 Windows11
四、请提供详细的错误堆栈信息,这很重要。
调查原因:参数menu有一条角色菜单(配置的通知公告的查看按钮),但是租户产品包里没有按钮配置,只有菜单,固(menu.stream().filter(x -> menuIds.contains(x.getId())).collect(Collectors.toList());)的时候,menu没有包含的,返回空,所以菜单也显示不出来了。
/**
* 租户菜单权限自定义筛选
*/
private List<Menu> tenantPackageMenu(List<Menu> menu) {
TenantPackage tenantPackage = SysCache.getTenantPackage(AuthUtil.getTenantId());
if (Func.isNotEmpty(tenantPackage) && tenantPackage.getId() > 0L) {
List<Long> menuIds = Func.toLongList(tenantPackage.getMenuId());
menu = menu.stream().filter(x -> menuIds.contains(x.getId())).collect(Collectors.toList());
}
return menu;
}
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端