天天看点

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

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

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

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

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

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

单体阶段:

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?
SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

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

解决方案:

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

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

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

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

微服务阶段:

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?
SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

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

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

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

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

HMAC流程

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

RSA流程

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

3.什么是RBAC模型?RBAC(Role-Based Access Control )基于角色的访问控制。

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

SpringSecurity+JWT权限管理训练营-01基于RBAC模型的权限管理系统1.什么是权限管理系统?2.认证的演进过程?

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

Apache Shiro

Spring Security

继续阅读