权限管理做为系统工程中比较重要的基础模块,因此一套完善和灵活的权限体系方案可以更好的为系统的安全赋能。完善的权限体系,需要依赖于一套完备的解决方案,在整个体系的建立过程中可以分为两个部分(认证和授权)实现,并且这两个部分没有强依赖性,可以根据业务的不同选择不同的类型进行组合。二. 认证
- 认证(认证管理)
- 认证方式(账号密码、手机验证码、第三方账号登录等)
- 认证协议(cas、jwt、oauth2等)
- 鉴权(策略授权)
- 权限模型(RBAC、ABAC、DAC、MAC)
- 鉴权模型(shrio、casbin、access list)
认证方式(登录方式),随着越来越多的业务场景和一些复杂的环境的要求,诞生出来不同的登录方式,在不同的业务场景下可以进行自主的选择和叠加,分为独立认证方式和叠加认证两种方式。2.1.1 独立认证
由于单一的认证场景下并不能保证认证过程的安全性,因此可以根据不同的业务场景进行认证方式的组合和叠加。
认证的协议是认证结果完成之后认证票据的表达形式,也是认证过程中的一部分,因此需要了解不同的认证协议所应对的不同的认证场景,可以在不同的场景下选择合适的认证协议。2.2.1 CAS
做为权限体系的组成部分,鉴权也是至关重要的。再认证完成之后,接下来的访问操作我们都需要根据之前生成的认证结果进行权限的校验和判断,这部分的设计也可以分为两部分:权限模型和鉴权模型3.1 权限模型
权限模型的选择也需要去根据具体的业务进行选择,主流的权限模型分为四种:3.1.1 RBAC(基于角色访问控制)
自主访问控制(DAC,Discretionary Access Control)比较常用的则是后面两种,我们就后面两种的使用场景进行讲解。
强制访问控制 (MAC,Mandatory Access Control)
基于角色访问控制 (RBAC,Role-based Access Control)
基于属性访问控制 (ABAC,Attribute-based Access Control)
在鉴权体系中,在确定了权限模型之后,那就需要考虑鉴权模型的建立,通过选择不同的鉴权模型进行权限数据的维护和校验。模型在选择的过程中可以根据不同的需求和权限模型进行选择,目前比较主流的下列三种:3.2.1 shrio
shrio
casbin
access list
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |