互联网项目中主流的权限设计方案
创始人
2024-09-26 12:25:48
0

文章目录

  • 一 什么是权限系统
  • 二互联⽹公司主流的权限设计模型,如ACL和RBAC等
    • 什么是ACL
      • ACL的优点
      • ACL的缺点
    • 什么是RBAC
      • RBAC的优点
      • RBAC的缺点
  • 三主流的权限认证框架
    • Apache Shiro
      • Shiro应⽤场景
      • Shiro优点
      • Shiro缺点
    • Spring Security
      • Spring Security应⽤场景
      • Spring Security优点
      • Spring Security缺点
    • Sa-Token
      • Sa-Token应⽤场景
      • Sa-Token优点:
      • Sa-Token缺点:

一 什么是权限系统

1.主要目的是确保只有经过授权的⽤户才能访问和操作特定的系统资源,从而保护系统的安全性和完整性
2.主要实现的功能可以分为认证和授权两种
2.1认证:主要是验证⽤户的身份,例如通过⽤户名和密码的验证来确定⽤户是否合法,⼀旦认证成功,⽤户就进入了授权阶段
2.2授权:根据系统设置的安全规则或策略,决定⽤户可以访问哪些资源,以及可以对这些资源进⾏哪些操作

二互联⽹公司主流的权限设计模型,如ACL和RBAC等

什么是ACL

1.Access Control List,访问控制列表,是⼀种直接的权限管理方式,用户的权限是直接与资源相关联的。
2.每个资源都有⼀个访问控制列表,该列表指定了哪些⽤户或⽤户组对该资源具有哪些权限
在这里插入图片描述

ACL的优点

1.直观易懂:用户和资源的权限关系直接明了,易于理解和配置。
2.控制精确:可以精确地控制每个⽤户对每个资源的访问权限。

ACL的缺点

1.当用户或资源数量多时,ACL的管理会变得复杂和繁琐,维护成本高
2.当需要给几十万个用户增加或者移除某个权限时,就麻烦了

什么是RBAC

1.Role-Based Access Control,基于⻆⾊的访问控制,核⼼思想是将权限与⻆⾊相关联,⽽不是直接与⽤户相关联。
2.在RBAC中,⻆⾊是权限的集合,⽤户通过成为适当⻆⾊的成员⽽得到这些⻆⾊的权限。
3.简化了⽤户与权限的管理,通过对⽤户进⾏分类,使得⻆⾊与权限关联起来。
4.⽐如上述案例⼏⼗万个⽤户,具备某个⻆⾊,如果需要加权限只需要对应的⻆⾊增加权限即可
在这里插入图片描述

RBAC的优点

1、灵活性⾼:可以动态地分配和撤销⻆⾊的权限,适应组织结构和业务2流程的变化。
2、管理便捷:通过管理⻆⾊和权限的映射关系,简化⽤户权限的管理过程。
3、可扩展性好:可以⽅便地添加新的⻆⾊和权限,更好的适应业务的发展

RBAC的缺点

1、开发相对ACL更为复杂,以及在⻆⾊和权限数量᫾多时,管理复杂度会上升

三主流的权限认证框架

Apache Shiro

1、地址:https://shiro.apache.org/
2、易于使⽤:Shiro的API设计简洁直观,能够快速地集成到应⽤程序中
3、功能全⾯:提供了身份验证、授权、加密和会话管理等安全相关的功能,满⾜应⽤程序安全性的基本需求。
4、灵活性:Shiro⽀持多种应⽤场景,包括Web、⾮Web、分布式和云环境等,能够灵活地应对不同的需求。

Shiro应⽤场景

1、Shiro适⽤于各种Java应⽤程序,特别是那些需要快速集成安全功能的应⽤程序。
2、⽆论是Web应⽤、桌⾯应⽤还是分布式系统,Shiro都能提供强⼤的功能⽀持。

Shiro优点

易于学习和使⽤:对于初学者来说,Shiro的⽂档和教程⾮常丰富,易于上⼿。
轻量级:相对于其他安全框架,Shiro更加轻量级,对系统资源的消耗⼩。

Shiro缺点

社区⽀持:虽然Shiro的社区活跃,但相对于Spring Security等框架,其社区规模和资源可能少。

Spring Security

1、地址:https://spring.io/projects/spring-security
2、与Spring集成:Spring Security与Spring框架⽆缝集成,使得在Spring应⽤中使⽤安全功能变得⾮常简单。
3、⾼度可定制:Spring Security提供了丰富的配置选项和扩展点,可以根据具体需求进⾏⾼度定制。
4、强⼤的功能:除了基本的身份验证和授权功能外,Spring Security还⽀持OAuth2、OpenID Connect等⾼级功能。

Spring Security应⽤场景

1、Spring Security主要适⽤于基于Spring框架的应⽤程序,特别是那些需要⾼度可定制性和强⼤功能⽀持的应⽤程序。

Spring Security优点

1、与Spring深度集成:对于使⽤Spring框架的开发者来说,Spring Security是⾸选的安全框架。
2、强⼤的社区⽀持:Spring Security拥有庞⼤的社区和丰富的资源,可以快速解决遇到的问题。

Spring Security缺点

1、学习曲线陡:相对于Shiro,Spring Security的学习曲线可能᫾陡,需要⼀定的时间来掌握。
2、相对较重:由于提供了丰富的功能和配置选项,Spring Security相对于Shiro可能为重量级

Sa-Token

1、地址:https://sa-token.cc/doc.html#/
2、功能全⾯:提供了登录认证、权限认证、单点登录、OAuth2.0、微服务鉴权等功能,满⾜了多种场景下的权限管理需求。
3、简单易⽤:Sa-Token的API设计简洁直观,易于上⼿。开发⼈员可以快速集成到项⽬中,减少开发成本和时间。
4、轻量级:相⽐其他权限框架,Sa-Token更加轻量级,对系统资源的消耗⼩,适⽤于各种规模的项⽬。
5、灵活性:Sa-Token提供了丰富的配置选项和扩展点,可以根据具体需求进⾏定制和扩展。

Sa-Token应⽤场景

1、Sa-Token适⽤于各种需要进⾏权限管理的Java应⽤程序,包括但不限于Web应⽤、分布式系统、微服务架构等。
2、⽆论是简单的⽤户⻆⾊权限管理,还是复杂的业务逻辑权限控制,Sa-Token都能提供有效的解决⽅案

Sa-Token优点:

  1. 功能强⼤:Sa-Token提供了全⾯的权限管理功能,能够满⾜各种复杂的权限需求。
  2. 集成⽅便:Sa-Token与Spring框架等主流Java框架集成良好,可以轻松地与其他组件和库配合使
    ⽤。
  3. 性能优良:由于Sa-Token的轻量级设计,它对系统性能的影响᫾⼩,可以保持应⽤的良好响应速
    度。
  4. 社区⽀持:Sa-Token拥有活跃的社区和丰富的资源,开发者可以⽅便地获取帮助和解决问题。

Sa-Token缺点:

  1. 学习成本:虽然Sa-Token的API设计简洁,但对于初学者来说,仍需要⼀定的时间来熟悉和掌握其
    使⽤⽅式。
  2. ⽂档和教程不⾜:相⽐于⼀些成熟的权限框架,Sa-Token的⽂档和教程可能相对少,这可能会增加开发者的学习难度。

相关内容

热门资讯

安卓系统为什么不封闭,揭秘安卓... 你有没有想过,为什么安卓系统那么开放,却不像苹果iOS那样封闭呢?这背后可是有着不少有趣的故事和原因...
安卓系统更新包多大,解析不同版... 你有没有发现,每次安卓系统更新,手机里都会多出那么几个G的文件?这可真是让人好奇,安卓系统更新包究竟...
安卓手机安装双系统吗,安卓手机... 你有没有想过,你的安卓手机是不是也能像电脑一样,装上两个系统,一个用来工作,一个用来娱乐?没错,这就...
oppo会升级安卓系统,畅享最... 你知道吗?最近有个大消息在手机圈里炸开了锅,那就是OPPO要升级安卓系统啦!这可不是什么小打小闹的更...
安卓系统上安装windows,... 你有没有想过,在安卓手机上安装Windows系统?听起来是不是有点不可思议?但你知道吗,这竟然是可能...
安卓系统怎么进运行框,安卓系统... 你有没有想过,你的安卓手机里有一个超级实用的功能,那就是运行框!它就像是一个小助手,帮你快速找到正在...
安卓系统电视无图像设置,安卓电... 你家的安卓系统电视突然没图像了?别急,让我来给你支个招,让你轻松解决这个问题!一、检查电源和连接线首...
安卓机建议升级系统吗,提升性能 你有没有发现,你的安卓手机最近有点儿慢吞吞的?是不是在犹豫要不要升级系统呢?别急,让我来给你好好分析...
升级不了安卓系统升级,探寻升级... 你有没有遇到过这种情况?手机里的安卓系统突然告诉你,它需要升级,但你左等右等,就是升不上去。这可真是...
备用安卓系统手机推荐,盘点热门... 你有没有想过,如果你的手机突然罢工了,你会怎么办?别担心,今天我就要给你安利几款备用安卓系统手机,让...
旧安卓系统ipad无法更新系统... 你有没有遇到过这种情况?你的旧安卓系统iPad突然告诉你,它无法更新系统了!是不是瞬间感觉心里有点小...
运行安卓6系统命令大全,全面掌... 你有没有想过,你的安卓手机里隐藏着无数强大的功能,只等着你去发现和探索呢?今天,就让我带你走进安卓6...
安卓系统简笔画教程下载,轻松绘... 你有没有想过,用简单的线条就能把复杂的安卓系统画出来?没错,就是那种一看就懂,一画就上手的感觉!今天...
华为如何鸿蒙转安卓系统,轻松实... 你知道吗?最近华为的大动作可是让整个科技圈都沸腾了!他们竟然把鸿蒙系统转到了安卓系统上,这可真是让人...
安卓10系统的问题,安卓10系... 你有没有发现,自从你的手机升级到安卓10系统后,好像有点不对劲呢?别急,让我来给你细细道来,看看安卓...
安卓系统苹果搞笑视频,苹果搞笑... 你知道吗?在互联网的世界里,搞笑视频可是个永恒的热门话题。尤其是那些结合了安卓系统和苹果手机的搞笑片...
卡片机改造安卓系统,探索改造之... 你有没有想过,那些曾经陪伴我们记录美好时光的卡片机,现在竟然也能焕发第二春呢?没错,就是那些小巧便携...
装安卓系统倒车出不来,智能科技... 你有没有遇到过这样的事情:手机装了个安卓系统,结果倒车的时候出不来啦?这可不是闹着玩的,简直让人抓狂...
定制安卓系统哪家好点儿,哪家服... 你有没有想过,手机系统就像是个人的衣服,每个人都需要找到最适合自己的那一款?今天,咱们就来聊聊定制安...
台电用回安卓系统吗,开启智能新... 最近有个话题在科技圈里炒得挺热的,那就是台电是不是要用回安卓系统了?你有没有想过,这个小小的决定背后...