Jeecg的权限,是通过菜单管理中的“按钮/权限”实现的,前端和后端怎么获取这个权限呢,本文简单做个记录。
1、前端
import { USER_AUTH } from "@/store/mutation-types"
// 获取所有权限
let allAuthes = JSON.parse(sessionStorage.getItem(USER_AUTH));
// 只有“按钮/权限”类型的对象,格式如下:
// {"action":"demo:add","describe":"demo添加功能","type":"1"}
2、后端
@Autowired
private ISysPermissionService sysPermissionService;
// ...
// 获取当前登录用户对象
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 获取当前登录用户的所有权限
List userPremissions = sysPermissionService.queryByUser(sysUser.getUsername());
// 这里的权限包括普通菜单
for (SysPermission userPremission : userPremissions) {
// 是"按钮/权限"类型,且是指定的权限
if (userPremission.getMenuType() == 2 &&
userPremission.getPerms().equals("")) {
}
}
找到相关代码的话,其实也很简单
用SpringBoot有段时间了,才明白为什么面试经常会问设计模式,尼玛这是做Java开发经常碰到的,做中高级Java必然得熟悉各种设计模式。
C++开发很少讲设计模式。
有些功能用Java很容易实现,用C++却实现不了,比如反射。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)