按钮权限控制
实现列表按钮权限控制
一、前端页面通过指令 v-auth等方式控制权限
1. 按钮显示与隐藏控制
按钮显示隐藏可通过函数和指令2种方式进行控制
- 函数方式(hasPermission) user:add 为后台添加的权限编码
引入方法 hasPermission
import { usePermission } from '/@/hooks/web/usePermission'
const { hasPermission } = usePermission();
使用方法 hasPermission
控制按钮权限
<a-button type="primary" v-if="hasPermission('user:add')"> 新增</a-button>
- 指令方式(v-auth) user:add 为后台添加的权限编码
<a-button type="primary" v-auth="'user:add'" @click="handleCreate" > 新增</a-button>
2. 按钮禁用控制
按钮禁用通过 antd vue 组件提供的禁用属性进行控制
<a-button type="primary" :disabled="isDisabledAuth('system:user:export')"> 导出</a-button>
操作列(TableAction)按钮显示隐藏控制
{
label: '删除',
icon: 'ic:outline-delete-outline',
onClick: handleDelete.bind(null, record),
auth: 'user:add', //通过权限指令控制显示(有权限显示/无权限不显示)
},
二、配置按钮权限菜单
后台进入菜单管理页面配置按钮权限菜单
三、后台通过java注解控制按钮请求
如果因为没有权限导致无法操作,可以暂时注释掉@RequiresPermissions,授权后再放开
四、角色授权按钮
进入角色管理授权按钮(授权后即可看见按钮)