SpringSecurity+JWT之基于RBAC模型的权限管理系统

1.什么是权限管理系统?

权限管理是一个几乎所有后台系统的都会涉及的一个重要组成部分,可以说是后台项目的基本功,主要目的是对整个后台管理系统进行权限的控制,而针对的对象是员工,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,数据泄露等问题。

权限管理主要是管控下面三个方面:

哪些页面要设置权限

哪些操作要设置权限

哪些数据要设置权限

下面的例子就是控制页面的访问权限:


权限管理核心就是两方面:认证和授权。下面我们参考一下认证的演进过程,去深入了解一下:

2.认证的演进过程?

单体阶段:


粘滞会话会把登陆状态绑定到某个服务器上

解决方案:

1.session复制:会话数据在服务器之间进行同步复制;

2.无状态会话:session数据存在客户端浏览器上;安全问题,需要加密;存储4K

3.session共享:集中存储在某个地方(redis);


微服务阶段:


采用透明令牌(引用令牌):token使用无意义的字符串,本质还是集中状态会话:

轻量级(安全性要求没那么高)JWT


HMAC流程

RSA流程

3.什么是RBAC模型?

RBAC(Role-Based Access Control )基于角色的访问控制。

RBAC认为权限的过程可以抽象概括为:判断【Who是否可以对What进行How的访问操作(Operator)】这个逻辑表达式的值是否为True的求解过程。即将权限问题转换为Who、What、How的问题。who、what、how构成了访问权限三元组。


4.基于RBAC模型的权限验证框架

Apache Shiro

Spring Security

你可能感兴趣的:(SpringSecurity+JWT之基于RBAC模型的权限管理系统)