jeecgboot前端按钮角色权限控制(是否隐藏)

官方文档

http://doc.jeecg.com/2044038

解决办法

  1. 首先需要修改前端代码,在想获得权限控制的按钮组件中使用指令 v-has=“‘’”。
    代码示例:
<a-button @click="handleEdit" type="primary" v-has="'salary:edit'" icon="plus">编辑</a-button>
  1. 进入系统管理-菜单管理中。
    在这里插入图片描述

  2. 找到想添加的子级菜单,在更多中找到添加下级。

在这里插入图片描述

  1. 正常填写按钮信息。

在这里插入图片描述

  1. 保存后进入菜单管理-角色管理,点击指定角色后面的 更多 ,选择下拉单中的授权按钮。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 保存后即可生效。
### JeecgBoot 权限管理实现方案 JeecgBoot 是一款基于 Spring Boot 和 Vue 的快速开发平台,其权限管理系统设计灵活且功能强大。以下是关于 JeecgBoot权限管理的核心实现方式: #### 1. 基于角色的访问控制 (RBAC) JeecgBoot 使用 RBAC(Role-Based Access Control)模型来管理用户的权限。该模型通过定义用户、角色和资源之间的关系,实现了细粒度的权限控制[^1]。 - **用户表 (`sys_user`)**:存储系统中的所有用户信息。 - **角色(`sys_role`)**:定义系统的不同角色,例如管理员、普通用户等。 - **菜单/按钮权限(`sys_permission`)**:记录所有的菜单项以及对应的按钮操作权限。 - **关联表**: - `sys_user_role` 表用于建立用户与角色的关系。 - `sys_role_permission` 表则负责绑定角色与具体的权限。 这些数据结构共同构成了 JeecgBoot 的基础权限管理体系。 #### 2. 动态路由加载 为了确保前端页面的安全性和用户体验,JeecgBoot 支持动态路由加载机制。当用户登录成功后,服务器会根据当前用户的角色返回允许访问的菜单列表,并将其映射到前端路由配置中。 ```javascript // 示例代码展示如何处理动态路由 const loadRoutes = async () => { const response = await fetch('/api/user/menu'); const menuData = response.data; // 将菜单数据转换为Vue Router可识别的格式 const routes = convertMenuToRoutes(menuData); router.addRoutes(routes); // 添加至全局路由器实例 }; ``` 此方法不仅提高了安全性,还减少了不必要的网络请求开销。 #### 3. 按钮权限校验 除了对整个模块或页面进行授权外,JeecgBoot 还提供了更加精细的操作级别权限验证——即针对特定按钮或者组件的功能启用状态实施管控。 在模板文件里可以通过自定义指令完成这一目标: ```html <!-- 只有具备 'add' 权限时才能显示新增按钮 --> <el-button v-hasPerm="'btn:add'" type="primary">新增</el-button> ``` 上述例子展示了利用 `v-hasPerm` 自定义指令判断当前用户是否拥有指定权限标识 `'btn:add'` ,从而决定是否渲染对应 DOM 节点。 #### 4. 数据范围过滤 某些场景下可能需要进一步限定某类业务对象可见性的边界条件,比如部门主管仅能查看自己管辖范围内员工的信息。对此需求,JeecgBoot 提供了一套完善的数据权限解决方案,在查询 SQL 层面自动附加额外约束条款达成目的。 --- ### 总结 综上所述,JeecgBoot权限管理涵盖了从整体架构规划到具体编码细节等多个层面的内容,既满足常规应用对于身份认证的需求,又能应对复杂环境下多维度组合式的特殊要求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值