我们一般常用的安全框架也就是Shiro和Spring-Security了,关于这两个框架我们就不做过多的介绍了,前面两篇博客都对他们进行了简单的介绍,现在对这两个框架做个简单的大家对比方便技术选型:
对比项目 | Spring-Security | Shiro |
---|---|---|
代码结构 | 代码结构比较复杂,使用了很多设计模式,所以很多的人去研究源码可以学到很多东西 | 代码结构简单明了,入门级程序员也能看懂 |
提供功能 | 除了权限认证功能还提供了其他很多功能,包括安全防护、CAS,OAuth2等扩展功能 | 功能相对简单,只满足权限系统,没提供其他扩展功能 |
Spring | 基于Spring开发,相互整合方便,使用的时候必须有Spring容器 | 独立框架,不依赖与其他容器,目前用SpringBoot整合反而比Spirng-Security简单 |
社区资源 | 社区资源比较多,相对来说研究的人多,同时写下了研究笔记 | 社区资源少,代码太简单了没多大研究兴趣 |
综合来说呢,Spring-Security使用Filter实现的,在理论上说Web框架实现的最好方式,但是Shiro基于数据库自己查询实现更加灵活方便。只能说大家感觉上是Spring-Security是更加安全的,但是Shiro也没发现啥大漏洞。大部分中小公司喜欢用Shiro,轻量级的简单。Spring-Security是重量级。如果要扩展其他功能Spring-Security更好一点,它直接提供了单点登录等功能。