若依按钮权限
最近客户要求菜单添加按钮权限,于是我对照系统管理板块添加了按钮权限。(照猫画虎)
1、添加按钮菜单
- 菜单类型:按钮
- 菜单名称:按钮名称
- 权限标识:板块:菜单名称:按钮名称
获取登录人权限标识的sql
SELECT DISTINCT
m.perms
FROM
sys_menu m
LEFT JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
LEFT JOIN sys_user_role ur ON rm.role_id = ur.role_id
LEFT JOIN sys_role r ON r.role_id = ur.role_id
WHERE
m.STATUS = '0'
AND r.STATUS = '0'
AND ur.user_id = '44';
2、 前端vue添加v-hasPermi属性
前端中使用v-hasPermi指令就可以判断当前登录人权限字符中是否包含某些特定的权限字符,就可以判断是否展示使用指令的组件。
<el-button
size="mini"
type="primary"
plain
@click="handleAddNew"
icon="el-icon-plus"
v-hasPermi="['risk:ichnography:add']">添加
</el-button>
3 后端接口添加@PreAuthorize注释
后台接口添加@PreAuthorize(hasPermi = "risk:ichnography:add") 即可
/**
* 测试
*/
@PreAuthorize(hasPermi = "risk:ichnography:add")
@GetMapping(value = {"/", "/{userId}"})
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
//忽略代码
return ajax;
}
4 测试准备
创建角色:【按钮权限的角色】
创建测试账号【defu】
创建测试角色
创建测试账号【suao】操作步骤忽略
defu看到的页面:
suao看到的页面:
总结:
a、配置按钮级的菜单
b、权限分配
c、前端添加v-hasPermi="['risk:ichnography:add']" 注意:权限标识
d、后端接口添加@PreAuthorize(hasPermi = "risk:ichnography:add")注解
e、测试
本文来自博客园,作者:星星之草%,转载请注明原文链接:https://www.cnblogs.com/zhaodefu/p/16525005.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库