1. ACL 访问控制列表
2. ABAC 基于属性的权限控制模型
属性:ABAC模型以属性为基础来描述用户、资源和环境。属性通常包括标识符、类型和值。例如,一个用户的属性可以是他的部门或职位,而一个资源的属性可能是它所属的项目或类型。 策略:ABAC模型中的访问控制策略是根据属性来制定的。策略可以使用逻辑表达式来组合多个属性,以确定访问权限。例如,一个策略可以规定只有部门为“销售部”且角色为“经理”的用户才能访问销售报表。 访问控制决策:ABAC模型使用属性来做决策,根据用户的属性、资源的属性和环境的属性来决定用户是否有权访问某个资源。访问决策可以灵活地根据不同的属性组合来调整访问权限。
3. RBAC 按角色进行权限管理的模型
角色(Role):角色是权限管理的核心,它是一组权限的集合,表示了一类用户所拥有的访问权限。角色应该根据组织的职能和权限划分得当,以便有效管理权限和精细控制用户的访问。 用户(User):系统中的实际用户,通过将用户分配到不同的角色来获得相应的权限。 权限(Permission):权限是指对系统资源进行操作的许可,可以是读取、写入、修改、删除等不同操作。 用户-角色关联关系(User-Role Assignment):将用户分配到相应的角色,以确定用户的权限范围。 角色-权限关联关系(Role-Permission Assignment):确定不同角色拥有的具体权限。
用户级别的访问控制:用户根据其所属的角色具有相应的权限,从而控制用户对系统资源的访问。 角色级别的访问控制:对特定角色的权限进行管理和控制,以确保不同角色拥有正确的权限。 系统级别的访问控制:对整个系统资源进行访问控制,防止未经授权的访问。
灵活性:可以根据实际需要灵活划分和管理角色,并快速调整权限。 简化管理:对用户、角色和权限的管理更加简单直观,易于维护和更新。 安全性:RBAC模型可以减少了权限分配和审计工作量,有助于减少内部和外部的安全风险。
- End-
DailyMart是一个基于 DDD 和Spring Cloud Alibaba的微服务商城系统,采用SpringBoot3.x以及JDK17。旨在为开发者提供集成式的学习体验,并将其无缝地应用于实际项目中。该专栏包含领域驱动设计(DDD)、Spring Cloud Alibaba企业级开发实践、设计模式实际应用场景解析、分库分表战术及实用技巧等内容。如果你对这个系列感兴趣,可在本公众号回复关键词 DDD 获取完整文档以及相关源码。