阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

简单介绍SpringSecurity框架简介及与shiro特点对比

72次阅读
没有评论

共计 1737 个字符,预计需要花费 5 分钟才能阅读完成。

导读 这篇文章是 SpringSecurity 框架的入门篇,主要为大家介绍了 SpringSecurity 框架简介及与 shiro 优缺点对比有需要的朋友可以借鉴参考下,希望能够有所帮助

本专栏内容目前已经比较系统了,核心内容也相对完整,本系列文章会根据 Spring Security 社区的发展逐步的更新内容。请大家多多关注脚本之家~

一、SpringSecurity 框架简介

官网:https://spring.io/projects/spring-security

Spring Security 是强大的,且容易定制的,基于 Spring 开发的实现认证登录与资源授权的应用安全框架。

SpringSecurity 的核心功能:

Authentication:身份认证,用户登陆的验证(解决你是谁的问题)

Authorization:访问授权,授权系统资源的访问权限(解决你能干什么的问题)

安全防护,防止跨站请求,session 攻击等

二、比较一下 shiro 与 Spring Security

目前在 java web 应用安全框架中,与 Spring Security 形成直接竞争的就是 shiro,二者在核心功能上几乎差不多,但从使用的角度各有优缺点。笔者认为:没有最好的,只有最合适的。

2.1. 用户量

Shiro 的使用量一直高于 spring security。但是从趋势上来看(2020 年 10 月的百度指数),Spring Security 是在一直上升的,shiro 的使用量同比、环比都进入了下滑期。

2.2. 使用的方便程度

通常来说,shiro 入门更加容易,使用起来也非常简单,这也是造成 shiro 的使用量一直高于 Spring Security 的主要原因。但是从笔者的角度来看,二者其实都简单,我说说我的理由:

在没有 Spring Boot 之前,Spring Security 的大部分配置要通过 XML 实现,配置还是还是非常复杂的。但是有了 Spring Boot 之后,这一情况已经得到显著改善。

Spring Security 之所以看上去比 shiro 更复杂,其实是因为它引入了一些不常用的概念与规则。大家应该都知道 2 / 8 法则,这在 Spring Security 里面体现的特别明显,如果你只学 Spring Security 最重要的那 20%,这 20% 的复杂度和 shiro 基本是一致的。也就是说,不重要的那 80%,恰恰是 Spring Security 比 shiro 的“复杂度”。

也就是说,如果有人能帮你把 Spring Security 最重要的那 20% 摘出来,二者的入门门槛、复杂度其实是差不太多的。

2.3. 社区支持

Spring Security 依托于 Spring 庞大的社区支持,这点自不必多说。shiro 属于 apache 社区,因为它的广泛使用,文档也非常的全面。二者从社区支持来看,几乎不相上下。

但是从社区发展的角度看,Spring Security 明显更占优势,随着 Spring Cloud、Spring Boot、Spring Social 的长足进步,这种优势会越来越大。因为 Spring Security 毕竟是 Spring 的亲儿子,Spring Security 未来在于 Spring 系列框架集成的时候一定会有更好的融合性,前瞻性、兼容性!这也是为什么我们要学 Spring Security 的主要原因!

2.4. 功能丰富性

Spring Security 因为它的复杂,所以从功能的丰富性的角度更胜一筹。其中比较典型的如:

Spring Security 默认含有对 OAuth2.0 的支持,与 Spring Social 一起使用完成社交媒体登录也比较方便。shiro 在这方面只能靠自己写代码实现。

还有一种普遍说法:Spring Security 在网络安全的方面下的功夫更多,但是笔者并未有非常直接的感受,有可能出现安全问题的时候才会感到不够安全的痛。

三、总结

如果你只是想实现一个简单的 web 应用,shiro 更加的轻量级,学习成本也更低。如果您正在开发一个分布式的、微服务的、或者与 Spring Cloud 系列框架深度集成的项目,笔者还是建议您使用 Spring Security。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1737字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中