java web开发安全框架spring security与shiro的选择

一、 SpringSecurity 框架简介

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

源代码: https://github.com/spring-projects/spring-security/

(1)SpringSecurity 的核心功能:
Authentication:认证,用户登陆的验证(解决你是谁的问题)
Authorization:授权,授权系统资源的访问权限(解决你能干什么的问题)
安全防护,防止跨站请求,session 攻击等。
(2)认证(Authentication):应用程序确认用户身份的过程,常见认证:登录。

(3)身份(principal)/主体(Subject):认证用户的主要凭证之一。可以是账号、邮箱、手机号等。在java中主体是Object类型。

(4)凭证(Credential):用户认证过程中的依据之一。常见就是密码。

(5)授权(Authorization):判断用户具有哪些权限或角色。

(6)Spring Security所有功能都是基于Filter(过滤器)实现的。

springsecurity 可定制性更高。

二、Shiro框架简介

在这里插入图片描述扒的图

Shiro是一个强大且易用的 Java 安全框架。
Shiro::用于中小型项目比较常见,简单易上手,可以支持多种环境
Shiro 可以不跟任何的框架或者容器绑定,可独立运行

三、权限管理概述

RBAC(Role Based Access Control) :某个用户拥有什么角色,被允许做什么事情(权限)

用户登录—>分配角色---->(权限关联映射)---->鉴权(拥有什么什么权限)

四、二者对比

通常来说,shiro入门更加容易,使用起来也非常简单,这也是造成shiro的使用量一直高于Spring Security的主要原因。
Spring Security因为它的复杂,所以从功能的丰富性的角度更胜一筹。其中比较典型的如:
Spring Security默认含有对OAuth2.0的支持,与Spring Social一起使用完成社交媒体登录也比较方便。shiro在这方面只能靠自己写代码实现。
还有一种普遍说法:Spring Security在网络安全的方面下的功夫更多,所以其后续的学习成本更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值