Shiro 和 Spring Security 如何选择?

一、Shiro 和 Spring Security 如何选择?

安全框架 Shiro 和 Spring Security 如何选择?
参考URL: https://cloud.tencent.com/developer/article/1513968

其实主要看使用场景,如果是SpringBoot项目的话,绝对强烈建议Spring Security,适配器模式配置太方便了,如果你搞懂Spring Security大概源码处理流程,可操作性太强了。还有就是Spring Security的csrf token、session fixation这些开箱即用的功能真是点赞,基本稍微有点规模的业务系统都得用上吧,保障安全。然后shiro的话,个人觉得用起来的确也是简单,认证和授权方法写写,其他的配置直接cp cv,其实相对于Spring Security少了一些csrf等相关的东西以外,通过继承重写aop interceptor相关的一些方法以及加入自定义或者修改filter,基本也能做到跟Spring Security差不多吧,所以说,觉得没多大差别,看个人喜欢和熟悉程度了。

打比方把,websocket 的安全认证,shiro 我找不到合理的解决方案,搜到的全是 spring security的方案。但 spring security 提供的很完善的文档。

Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直是 Shiro 的天下。

相对于 Shiro,在 SSM/SSH 中整合 Spring Security 都是比较麻烦的操作,所以,Spring Security 虽然功能比 Shiro 强大,但是使用反而没有 Shiro 多(Shiro 虽然功能没有 Spring Security 多,但是对于大部分项目而言,Shiro 也够用了)。

自从有了 Spring Boot 之后,Spring Boot 对于 Spring Security 提供了 自动化配置方案,可以零配置使用 Spring Security。

因此,一般来说,常见的安全管理技术栈的组合是这样的:

  • SSM + Shiro
  • Spring Boot/Spring Cloud + Spring Security

二、Apache Shiro和Spring Security对比

spring security和shiro的异同
参考URL: https://blog.51cto.com/14150615/2356958?source=dra
Apache Shiro和Spring Security对比
参考URL: https://www.jianshu.com/p/d87ba7d20828

spring security和shiro的异同

相同点

1、认证功能
2、授权功能
3、加密功能
4、会话管理
5、缓存支持
6、rememberMe功能

不同点

1、Spring Security 基于Spring 开发,项目若使用 Spring 作为基础,配合 Spring Security 做权限更加方便,而 Shiro 需要和 Spring 进行整合开发;
2、Spring Security 功能比 Shiro 更加丰富些,例如安全维护方面;
3、Spring Security 社区资源相对比 Shiro 更加丰富;

Spring Security对Oauth、OpenID也有支持,Shiro则需要自己手动实现。而且Spring Security的权限细粒度更高。

spring security 接口 RequestMatcher 用于匹配路径,对路径做特殊的请求,类似于shiro的抽象类 PathMatchingFilter,但是 RequestMatcher 作用粒度更细

4、Shiro 的配置和使用比较简单,Spring Security 上手复杂些;
5、Shiro 依赖性低,不需要任何框架和容器,可以独立运行.Spring Security 依赖Spring容器;
6、shiro 不仅仅可以使用在web中,还支持非web项目它可以工作在任何应用环境中。在集群会话时Shiro最重要的一个好处或许就是它的会话是独立于容器的。

apache shiro的话,简单,易用,功能也强大,spring官网就是用的shiro,可见shiro的强大。

三、参考

Shiro与Spring security
参考URL: https://www.jianshu.com/p/5bbbb95fdb8f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值