在了解完什么是权限管理之后,我们就可以考虑技术选型了。一个合理的技术选型往往需要多横向、纵向的多维度比较,最终才可以确定出最适用于自身项目的实际技术。好在权限管理的技术框架历经多年发展也就这么多的技术,下面我们看看大概有哪些技术可以帮助我们实现权限管理,又各自有什么优缺点。
技术 |
优点 |
缺点 |
配置简单,可以快速上手不需要任何框架和容器,可以独立运行适用于任意容器(tomcat、weblogic等) |
安全维护较弱如果是Spring框架则需要和 Spring 进行整合开发微服务架构下稍显力不从心 |
|
对身份验证和授权的全面且可扩展的支持防止会话固定、点击劫持、跨站点请求伪造等攻击Servlet API 集成与 Spring Web MVC 的可选集成 |
复杂度高,对于小型系统有点大材小用重量级,配置繁琐,但是在SpringBoot之后就优化了很多 |
|
用户自定义ACL |
实现成本低,高度契合项目 |
新人友好度低,不是业界通用的,有理解成本实际都是对于ACL或RBAC的二次封装 |
在笔者写权限管理技术时,发现国内外已经有很多相关的权限管理技术,但基本都是基于ACL、RBAC模型的二次封装,所以这里就不再重复罗列,只阐述具有代表性的。