若依按钮权限
最近客户要求菜单添加按钮权限,于是我对照系统管理板块添加了按钮权限。(照猫画虎)
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