3.实现权限管理的技术

简介: 本文介绍了权限管理的主流技术选型,对比了Apache Shiro、Spring Security及自定义ACL的优缺点。Shiro轻量易用但安全性较弱;Spring Security功能强大但配置复杂;自定义ACL灵活但维护成本高,适合特定场景。

在了解完什么是权限管理之后,我们就可以考虑技术选型了。一个合理的技术选型往往需要多横向、纵向的多维度比较,最终才可以确定出最适用于自身项目的实际技术。好在权限管理的技术框架历经多年发展也就这么多的技术,下面我们看看大概有哪些技术可以帮助我们实现权限管理,又各自有什么优缺点。

技术

优点

缺点

Apache Shiro

  • 配置简单,可以快速上手
  • 不需要任何框架和容器,可以独立运行
  • 适用于任意容器(tomcat、weblogic等)
  • 安全维护较弱
  • 如果是Spring框架则需要和 Spring 进行整合开发
  • 微服务架构下稍显力不从心

Spring Security

  • 对身份验证和授权的全面且可扩展的支持
  • 防止会话固定、点击劫持、跨站点请求伪造等攻击
  • Servlet API 集成
  • 与 Spring Web MVC 的可选集成
  • 复杂度高,对于小型系统有点大材小用
  • 重量级,配置繁琐,但是在SpringBoot之后就优化了很多

用户自定义ACL

  • 实现成本低,高度契合项目
  • 新人友好度低,不是业界通用的,有理解成本
  • 实际都是对于ACL或RBAC的二次封装

在笔者写权限管理技术时,发现国内外已经有很多相关的权限管理技术,但基本都是基于ACL、RBAC模型的二次封装,所以这里就不再重复罗列,只阐述具有代表性的。

相关文章
|
索引 Python 容器
解释Python中的迭代器和生成器的优势和劣势。
解释Python中的迭代器和生成器的优势和劣势。
379 2
|
NoSQL Linux 网络安全
Linux命令汇总
Linux命令汇总
1002 0
|
4月前
|
存储 JSON NoSQL
3-MongoDB常用命令
本文介绍MongoDB数据库操作,包括创建与删除数据库、集合的显式与隐式创建、文档的增删改查、批量操作、分页查询及排序统计等基本CRUD操作,适用于文章评论数据管理。
|
负载均衡 网络协议 数据安全/隐私保护
详解配置代理和IP设置的含义
详解配置代理和IP设置的含义
1102 6
|
存储 传感器 监控
《Solidity 简易速速上手小册》第6章:优化 Gas 消耗和性能(2024 最新版)(上)
《Solidity 简易速速上手小册》第6章:优化 Gas 消耗和性能(2024 最新版)
294 1
|
存储 弹性计算 运维
一文掌握CloudOps云上运维精华内容
【CloudOps云上自动化运维专场】由阿里云弹性计算高级产品专家马小婷、北京数美时代科技有限公司首席架构师陈建、阿里云弹性计算高级技术专家王凌志、深势科技总架构师李样兵、阿里云弹性计算高级技术专家钱超、阿里云弹性计算技术专家杜文彬、阿里云弹性计算高级技术专家张尤、阿里云弹性计算技术专家李化楠、阿里云弹性计算技术专家樊超,共9位内外部重磅嘉宾出席分享。
|
机器学习/深度学习 算法 安全
密码学的100个基本概念
密码学的100个基本概念
1007 0
|
缓存 Python Shell
|
开发框架 缓存 数据库
Python中的Web开发:Flask与Django的比较与选择
Python中的Web开发:Flask与Django的比较与选择
1144 0
|
存储 SQL 分布式计算
数据中台实战(11)-数据中台的数据安全解决方案
数据中台实战(11)-数据中台的数据安全解决方案
910 1