首页 > 其他分享 >三种权限模型简介

三种权限模型简介

时间:2023-02-08 20:13:22浏览次数:48  
标签:node 简介 模型 用户 ACL 三种 user 权限

三种权限模型简介

1.RABC模型

该模型是基于角色的权限管理模型

(RBAC, Role Based Access Control)

    角色的概念就是对用户的一个升级,管理者不需要考虑用户和权限关系。只需要给用户某种角色,然后对角色授予或者取消对应权限。模型构建相对复杂,但是在用户数量大的情况下,还是需要维护角色和权限关系,以及用户和角色关系。

    RBAC的表结构包括,用户user表、角色role表、权限节点node表和用户user和角色role多对多关系的user_role表及角色role和节点多对多关系的role_node表,共5张表。

2. ABAC 模型

该模型基于属性的权限管理模型

(ABAC, Attribute Based Access Control)

ABAC对用户本身的属性进行标识,通过标识来判断用户权限。这样的设计使得ABAC非常灵活,可扩展性也很高。

    ABAC一般来说,都是搭配着ACL或RBAC一起使用,不会单独成体系。在设计中,只需要在user表中加入对应字段即可,例如:某平台只允许25到50岁之间的用户注册,那么需要在user表中加入age字段。

3. ACL模型

该模型基于用户的权限管理模型

(ACL, Access Control List)

 基于用户的概念就是说直接对用户进行权限分配管理,好处是模型构建简单,只需要给用户授予或者取消对应权限即可。但是相对的,如果用户数量庞大的情况下,这套模型就很不实用。因为需要对每一位用户对应权限进行维护,这导致维护成本太高。

    ACL模型表结构很简单,只需要用户user表和权限节点node以及user和node的多对多关系表user_node。同时,只需要维护user_node表中user和node关系即可。

    ACL的适用于用户数量较小的管理系统中,例如:1班有40位同学,张三拥有班长权限、李四拥有学委权限、王五拥有纪委权限,其它同学只拥有普通权限。

    在ACL权限模型下,权限管理是围绕资源来设定的
  1. 总结
    这三种权限管理模型,也可以说是设计理念;

    在web后端的开发中都是以用户为主体,构建起来都较为简单。

当然,它们各自都有优缺,只是两权相难取其轻,具体开发过程中还需要权衡开发成本而选择。

标签:node,简介,模型,用户,ACL,三种,user,权限
From: https://www.cnblogs.com/Leethon-lizhilog/p/17103133.html

相关文章