写在前面
什么是权限管理
简单来说,就是不同的用户具有不同的权限:
那么如果我们有100个用户,难不成要给他们搞100套权限吗???
当然不是,用户并不直接对应权限,用户对应的其实是角色 。
也就是说:用户对应角色,角色对应权限。如果我们有一百个用户,但是他们等级不同,老板有全部的权限,经理有80%权限,组长有50%权限,职员有20%权限。
那么其实我们只需要4个角色:老板角色 有全部的权限,经理角色 有80%权限,组长角色 有50%权限,职员角色 20%权限。
用户只要对应这4个角色即可,不同级别的用户就能有不同的权限了。
值得注意的是:
上面的说明可以改成这样:
权限管理的逻辑图
文字说明可能有不到位的地方,下面我们来用流程图的形式来更直观的表现一下权限管理的逻辑。
★页面权限逻辑图

★功能权限逻辑图

★数据权限共享逻辑图

权限管理的代码实现
代码实现一般是通过路由拦截与请求拦截共同实现,因为不同的项目代码结构可能有所不同,所以如下代码只是思路的一个延展说明,并不能直接拷贝到项目中使用哦~
总结
类似于这种权限管理,最重要的还是考虑问题的思路,有了正确的思路转化为代码就很容易了。
按照权限-角色-用户
的管理方式,后期权限的维护以及增删改查都可以放在前端来处理,后端只要配置一次就可以不再操作了。避免了后端代码在权限管理的逻辑杂乱,不好维护等问题。简单来说,每个权限都有一个唯一的id,用户登录后去判断用户对应的角色是否对应有某权限的id,作为判断用户是否具有某权限的标准。如果新增一个页面,里面有n个功能权限,只需把路由地址以及加入到路由权限表中,把n个功能权限添加到功能权限表中,再给角色分配对应权限即可。
这种公共的权限管理,每个项目根据不同的需求都有自己的处理方式。另外,权限管理也可以做成公共的组件,新建项目时引入配置即可,此处暂不做讨论了。
写在后面
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!