Skip to content

权限控制

菜单权限控制

当用户登录后,会获取所有用户所在角色拥有的所有权限节点,程序自动筛选出菜单等数据注入到路由中从而展示菜单,所以说用户没有的菜单权限在菜单中是不展示的,并且没有注入路由,即使用户知道访问地址进行直接访问也是访问不了的会进入error页面。

页面内如何进行权限控制

所有权限都通过引入import { authCheck } from '@/common/function'函数进行判断,authCheck函数传入权限节点名称,如果有权限返回false,无权限返回true,为什么不有权限返回true呢,因为此函数多数是用在按钮的disabled属性上。

按钮权限控制

jsx
<Popconfirm
    title="确认要删除吗?"
    onConfirm={() => { 
        del(render.id);
    }}
    disabled={authCheck('adminUserDelete')} 
>
    <Button
        type="link"
        size="small"
        danger
        disabled={authCheck('adminUserDelete')} 
    >删除</Button>
</Popconfirm>

如果是打开内页权限控制

jsx
<NavLink to={authCheck('newsUpdate') ? '' : `/news/list/update?id=${render.id}`}>
    <Button
        type="link"
        size="small"
        disabled={authCheck('newsUpdate')} 
    >修改</Button>
</NavLink>