通用权限解决方案介绍

通用权限设计

目前一些知名的权限框架有Shiro和Soring Security。正常情况,直接使用框架没什么问题,方便,快速,但是需要一定的学习成本,得学习如何使用这些框架。

用框架还有一个缺点是不太好定制,因为每个产品的业务都不太一样要控制的权限都不太一样,此时如果硬是套用框架,就会很别扭。

通用权限的设计解决方案

权限拦截的对象:用户
权限拦截的点:菜单(控台左侧的菜单),路由,接口,按钮

控制用户对资源的访问
权限的操作:配置,读取,拦截

100用户 × 100资源(直接用户和资源做关联来控制权限,适合小型的项目,简单,快速)

三个核心概念:用户 角色 资源

100用户 × 2个角色 + 2个角色 × 100资源(经典的权限管理设计:用户和角色关联,角色和资源关联)

功能点:
配置
用户管理:用户表,用户管理界面,已完成
资源配置:资源表,资源配置界面
角色管理:角色表,角色管理界面
用户角色关联配置:用户角色关联表,复用角色管理界面
角色资源关联配置:角色资源关联表,复用角色管理界面
(两张关联表的配置,可以单独设计界面,也可以直接做到角色管理界面里)
用户权限的读取:用户登录的适合,读取该用户的所有权限。(登录时,通过用户角色关联表,可以知道当前登录用户的角色,再通过角色资源关联表就可以查到当前用户所有的资源)
读取
用户权限的读取:用户登录的时候,读取该用户的所有权限。
拦截
用户操作业务时,进行权限拦截
前端界面:菜单,路由,按钮,hidden disabled
后端接口:接口,gateway的过滤器
权限初始化
系统上线时,要初始化这五张表的数据。初始有一个用户能登录,能管理角色,管理资源,分配权限。

疑问:前端已经对菜单和按钮做拦截,用户不能操作了,为什么还要对接口做拦截?
前端是可以修改的,这样会不安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值