RBAC模型
什么是RBAC
RBAC(全称:Role-Based Access Control)基于角色的权限访问控制,作为传统访问控制(自主访问,强制访
问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些
角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责
任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合
并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观
情况。
访问控制是针对越权使用资源的防御措施,目的是为了限制访问主体(如用户等) 对访问客体(如数据库资源等)
的访问权限。企业环境中的访问控制策略大部分都采用基于角色的访问控制(RBAC)模型,是目前公认的解决大
型企业的统一资源访问控制的有效方法
基于RBAC实现的设计思路
基于角色的访问控制基本原理是在用户和访问权限之间加入角色这一层,实现用户和权限的分离,用户只有通过激
活角色才能获得访问权限。通过角色对权限分组,大大简化了用户权限分配表,间接地实现了对用户的分组,提高
了权限的分配效率。且加入角色层后,访问控制机制更接近真实世界中的职业分配,便于权限管理。
表结构模型图
需求1
前端
动态加载用户的功能模块
后端
根据用户权限使用API
基于RBAC dome 案例分析并实现
后台无状态安全校验实现
底层数据
问题:数据如何存储便于后期的使用与管理。
方案:使用RBAC管理模型,根据用户、角色、权限三种概念。来实现数据的访问、使用等相关权限的合理分配。
数据传输
问题:数据传输依托于互联网,如何保证其安全。
方案:认证+校验
校验 :
实现逻辑 在请求到达controller 时拦截并校验。
实现方式有:filter intercept aop 他们三者的关系如下图
本次案例使用的的过滤方式为,filter 过滤一些不存在token的请求,由intercept拦截校验接下来的数据信息。