什么是安全框架?Apache Shiro和Spring Security对比?

文章对比了Shiro和SpringSecurity两个安全框架的特点和区别。Shiro以其简单性和灵活性著称,提供身份认证、授权、会话管理和加密功能,适合独立运行。而SpringSecurity功能更全面,包括OAuth和OpenID支持,但依赖Spring容器,配置相对复杂。两者都在安全框架中提供认证、授权、加密和会话管理功能,但在轻量级和社区资源上存在差异。
摘要由CSDN通过智能技术生成

安全框架:

安全框架就是解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,比较繁琐。使用安全框架,可以通过配置的方式实现对资源的访问限制。

对比:

Shior:

首先Shiro较之 Spring Security,Shiro在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势。

Shiro是一个强大而灵活的开源安全框架,能够非常清晰的处理认证、授权、管理会话以及密码加密。如下是它所具有的特点:

1.易于理解的 Java Security API;

2.简单的身份认证(登录),支持多种数据源(LDAP,JDBC,Kerberos,ActiveDirectory 等);

3.对角色的简单的签权(访问控制),支持细粒度的签权;

4.支持一级缓存,以提升应用程序的性能;

5.内置的基于 POJO 企业会话管理,适用于 Web 以及非 Web 的环境;

6.异构客户端会话访问;

7.非常简单的加密 API;

8.不跟任何的框架或者容器捆绑,可以独立运行。

Spring Security

除了不能脱离Spring,shiro的功能它都有。而且Spring Security对Oauth、OpenID也有支持,Shiro则需要自己手动实现。Spring Security的权限细粒度更高(笔者还未发现高在哪里)。

注:

OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。"客户端"不能直接登录"服务提供商",只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。

"客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端"开放用户储存的资料。

OpenID 系统的第一部分是身份验证,即如何通过 URI 来认证用户身份。目前的网站都是依靠用户名和密码来登录认证,这就意味着大家在每个网站都需要注册用户名和密码,即便你使用的是同样的密码。如果使用 OpenID ,你的网站地址(URI)就是你的用户名,而你的密码安全的存储在一个 OpenID 服务网站上(你可以自己建立一个 OpenID 服务网站,也可以选择一个可信任的 OpenID 服务网站来完成注册)。

1.相同点

①认证功能

②授权功能

③加密功能

④会话管理

⑤缓存支持

⑥rememberMe功能

2.不同点

①Spring Security是一个重量级的安全管理框架;Shiro则是一个轻量级的安全管理框架

②Spring Security 基于Spring开发,项目若使用Spring作为基础,配合Spring Security 做权限更便捷,而Shiro需要和Spring 进行整合开发;

③Spring Security 功能比Shiro更加丰富些,例如安全维护方面;

④Spring Security 社区资源相对于Shiro更加丰富;

⑤Shiro 的配置和使用比较简单,Spring Security 上手复杂些;

⑥Shiro 依赖性低,不需要任何框架和容器,可以独立运行, Spring Security依赖Spring容器;

⑦Shiro 不仅仅可以使用在web中,它可以工作在任何应用环境中。在集群会话时Shiro最重要的一个好处或许就是它的会话是独立于容器的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值