权限管理
为了实现按钮级权限控制,本项目提供了权限指令 + 权限 API 两种鉴权方式。
鉴权指令
通过在对应按钮上使用 v-permission
指令,即可控制该按钮仅在有相应权限的用户访问时显示。
vue
<a-button v-permission="['system:user:add']">新增</a-button>
鉴权函数
在一些更复杂的场景,我们可能需要更灵活的权限 API 来实现权限处理。
js
import has from '@/utils/has'
const columns: TableInstanceColumns[] = [
{
title: '操作',
slotName: 'action',
width: 200,
align: 'center',
fixed: !isMobile() ? 'right' : undefined,
show: has.hasPermOr(['system:user:update', 'system:user:delete', 'system:user:resetPwd'])
}
]
鉴权函数 | 描述 |
---|---|
hasPerm(permission: string) | 验证用户是否具备某权限 |
hasPermOr(permissions: string[]) | 验证用户是否含有指定权限,只需包含其中一个 |
hasPermAnd(permissions: string[]) | 验证用户是否含有指定权限,必须全部拥有 |
hasRole(role: string) | 验证用户是否具备某角色 |
hasRoleOr(roles: string[]) | 验证用户是否含有指定角色,只需包含其中一个 |
hasRoleAnd(roles: string[]) | 验证用户是否含有指定角色,必须全部拥有 |