若依前后端分离项目页面组件中的按钮权限控制

主题:本文章主要介绍若依前后端分离项目页面组件中的按钮权限控制

目标:

基础目标:组件页面内显示按钮功能,但是发请求到后端时,后端进行判断该用户是否有该权限,没有则前端提示没有权限,有则进行处理

进阶目标:如果该用户没有按钮的访问权限,那么就直接不在前端显示该按钮

基础目标(使用admin用户登录)

第一步:在系统管理页面的菜单管理中配置权限按钮(注意是按钮)

新增后若依系统会自动往数据库添加该数据:

第二步:在角色管理界面给角色赋予权限:

第三步:当你往后端发送请求后,用若依框架自带的注解进行权限校验:

那么到现在为止基础目标已经实现;

进阶目标:

第一步:在基础目标的步骤上在前端进行权限校验

当加了这个若依封装的v-hasPermi标签,那么前端就会自动检测该用户是否有这个权限,没有这个权限的话那么新增按钮就不显示;

查看结果用被赋予普通角色的用户,我这里是ry(用户名);至于哪个角色被赋予了什么权限,可以在前端的系统管理中的用户管理设置,当然也可以在数据库中直接操作,因为在前端设置也是发请求然后操作数据库(和添加权限按钮类似);

其中的导入按钮是我后来写的,并没有做权限控制,所有依然存在;

杂谈:关于若依权限控制

权限控制基础五表:用户表,角色表,用户角色关联表,权限表,角色权限关联表

如果给每个用户都分别赋予不同操作的权限,那么太过冗杂,所以采用以上五表关联;

角色权限关联表里面存储这不同角色对应的一个或多个权限,然后把一个或多个角色通过用于角色关联表赋给具体的一个用户,在若依框架中,在用户登录时,会进行以上五表联查,用户-------->角色--------->权限,最后把这个用户的所有权限查出来给前端,每次请求后端都会带着这些权限去验证,看看用户是否有对应操作的权限;

以上是我的理解,不对之处,请各位直抒己见

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值