孤尽班第25天 -- 项目的权限管理

本文介绍了RBAC(基于角色的访问控制)模型的三种核心规则,用于有效地设计和管理权限。在项目实践中,通过OAuth2的密码模式实现用户登录流程,涉及多个微服务之间的交互,确保安全的权限验证。用户获取JWT令牌后,凭此访问其他服务,服务端通过解密令牌验证用户身份和权限。
摘要由CSDN通过智能技术生成

用户角色管理

RBAC模型

RBAC(role based access control)是一种设计模式,用来设计和管理权限相关数据的一种模型。

RBAC中主要定义了三类规则:

1. 角色分配:一个主体只能在已经分配到拥有某许可的角色时才能使用该许可。

2. 角色授权:一个主体必须通过授权才可获取角色。在规则1的基础上,这一规则保证了一个主体只能获取已经通过授权的角色。

3. 许可授权:只有当某个许可已经通过授权分配给某个角色,获得该角色授权的主体才能使用这个许可。

项目中权限管理的实现

在项目中,我们使用OAuth2的4种模式中的密码模式来进行权限管理。

用户登录流程

1. 用户通过UI登录,request被转到gateway。

2. gateway将request转到admin微服务。

3. admin微服务将request转到auth-center微服务。

4. auth-center微服务检验用户的用户名和密码,如果正确,则返回一个令牌(JWT)给用户。该令牌的signature部分用auth-center专有的私钥加密,需用公钥解密。

5. 至此,完成登录。

6. 用户可以在访问其他服务时,比如购买车票,在request中注入令牌,这样即可访问服务。

7. 被访问的服务会解析request中的令牌,将其中的signature用公钥解密,查对里面的信息是否与payload中的信息一致。如果一致,验证成功,提供服务;否则,拒绝服务。

credit:截图来自刘雪松老师的PPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值