前言
在之前介绍过了Shiro之后,有好多粉丝问SpringSecurity在Spring Boot中怎么集成。这个系列我们就和大家分享下有关这方面的知识。
本节大纲
二、常用安全框架
一、什么是Spring Security?
SpringSecurity是基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web 请求级和方法调用级处理身份确认和授权。在 Spring Framework 基础上,Spring Security 充分利用了依赖注入(DI,Dependency Injection)和面向切面编程(AOP)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。它是一个轻量级的安全框架,它确保基于Spring的应用程序提供身份验证和授权支持。它与Spring MVC有很好地集成,并配备了流行的安全算法实现捆绑在一起。安全主要包括两个操作“认证”与“验证”(有时候也会叫做权限控制)。“认证”是为用户建立一个其声明的角色的过程,这个角色可以一个用户、一个设备或者一个系统。“验证”指的是一个用户在你的应用中能够执行某个操作。在到达授权判断之前,角色已经在身份认证过程中建立了。
我们简单来理解一下上面这段话:
第一:什么是Spring Security ?
Spring Security是一个安全框架。
第二:Spring Security核心功能?
(1)认证(你是谁,用户/设备/系统)
(2)验证(你能干什么,也叫权限控制/授权,允许执行的操作)
(3)攻击防护(防止伪造身份)
第三:Spring Security原理技术
Filter、Servlet、Spring DI、SpringAOP
二、常用安全框架
目前常用的安全框架主要是Spring Security和Apache Shiro,它们的区别是什么呢?
2.1 相同点
(1)认证功能
(2)授权功能
(3)加密功能
(4)会话功能
(5)缓存支持
(6)remeberMe功能
……
2.2 不同点(Spring Security PK Apache Shiro)
优点:
(1)Spring Security基于Spring开发,项目中如果使用Spring作为基础,配合Spring Security做权限更加方便。而Shiro需要和Spring进行整合。
(2)Spring Security功能比Shiro更加丰富,例如安全防护方面。
(3)Spring Security社区资源相对比Shiro更加丰富。
(4)如果使用的是Spring Boot,Spring Cloud的话,三者可以无缝集成。
缺点:
(1)Shiro的配置和使用比较简单,Spring Security上手复杂些。
(2)Shiro依赖性低,不需要任何框架和容器,可以独立运行,而Spring Security依赖Spring容器。
企业里选择哪个安全框架,是因人而异,因团队而异,擅长哪个选择哪个,大部分的业务场景,两个框架都是可以满足需求的。
本节就到这里,下节我们通过编码对于Spring Security有一个基本的认识。
SpringBoot2+SpringSecurity5视频
相关技术版本如下:
(1)JDK版本:1.8
(2)Spring Boot 2.0.6
(3)Spring Security 5.0.9
(4)Spring Data JPA 2.0.11.RELEASE
(5)hibernate5.2.17.Final
(6)MySQLDriver 5.1.47
(7)MySQL 8.0.12
已更新视频列表:
1. 概述
2. 初体验
3. 基于内存的认证信息
4. 基于内存的角色授权
5. 基于内存数据库的身份认证和角色授权
6. 基于MySQL数据库的身份认证和角色授权
7. 自定义登录页面和构建主页
8. 登出和403处理
8. 登出和403处理
9. 动态加载角色
10. 原理1
11. 自定义Filter
…
连载中...
…
Spring Boot+Spring Security:基于URL动态权限配置
219.Spring Boot+Spring Security:基于MySQL数据库的身份认证和角色授权
218.Spring Boot+Spring Security:基于内存数据库的身份认证和角色授权
217.Spring Boot+Spring Security:基于内存的角色授权
216.Spring Boot+Spring Security:基于内存的认证信息
215.Spring Boot+Spring Security:初体验
214. Spring Security:概述
213.Spring Boot 2.0新特性:配置绑定
212. Spring Boot WebFlux:响应式Spring Data之MongoDB
211. Spring Boot WebFlux:使用篇
210. Spring Boot WebFlux:概念篇
Java8新特性:Stream:实战篇
为了更勇敢,你可以害怕@一禅小和尚
Java8新特性:Stream:基础篇
Java8新特性:方法引用
209. SpringBoot quartz:sqlserver启动只有 DECLARE CURSOR 才允许使用...
风口之上,我是那头猪嘛?
Java8新特性:Lambda表达式: 摸摸里面
Java8新特性:Lambda表达式:过关斩将:使用场景
Java8新特性:Lambda表达式:小试牛刀
下雨天,适合学「Spring Boot」
Java8新特性:接口的默认方法
208. Spring Boot Swagger2:排序 – 漂游记
207. Spring Boot Swagger2:极简方式
我读的书很多,但都没有你好看【一禅录】
206. Spring Boot 2.0 Swagger2:使用
205. Spring Boot 2.0 Swagger2:初识Swagger
当要离开的时候,我却动情了
205. jetcache:你需要知道的小技巧
204. jetcache:在Spring Boot中怎么玩?
搜索「springboot」或者扫描以下二维码即可关注:
相关推荐
1. Spring框架概述:Spring是一个开源的Java平台,它为构建企业级应用提供了全面的框架支持,包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)、数据访问、Web应用以及...
### Spring Security 3.0.1 中文版知识点解析 #### 一、Spring Security 3.0.1 概览 ##### 1.1 Spring Security 是什么? Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架。它提供了许多功能...
【Spring Boot 概述】 Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它基于“约定优于配置”的原则,提供了一种快速构建独立、生产级应用的方式。通过内嵌式...
1. Spring概述:解释Spring框架的核心理念,如IOC( inversion of control,控制反转)和DI(Dependency Injection,依赖注入)。 2. 核心容器:详解Bean工厂和ApplicationContext,以及如何定义和管理Bean。 3. AOP...
#### 一、Spring Security 概述 **Spring Security**是一种广泛应用于Java企业级项目中的安全框架,它基于Spring AOP(面向切面编程)和Servlet过滤器来提供全面的安全解决方案。该框架能够在Web请求级别以及方法...
二、Spring Security概述 Spring Security是Spring生态系统中的一个组件,它提供了一套完整的安全解决方案,包括用户认证、授权、会话管理以及防止常见攻击。Spring Security通过拦截HTTP请求,对用户访问进行控制,...
- 与其他技术的集成:与Spring Boot 2.x、Spring Security、Spring Cloud等组件的集成更加紧密。 五、源码学习路径 - 从`org.springframework`包入手,理解核心接口和类的设计。 - 研究`BeanFactory`和`...
一、Spring框架概述 Spring是一个开源的Java平台,它为构建企业级应用程序提供了一个全面的编程和配置模型。其核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP...
二、Spring Cloud 概述 1. 服务治理:Spring Cloud Netflix Eureka 实现服务注册与发现,使得服务可以自动发现彼此。 2. 配置管理:Spring Cloud Config 提供集中式的配置服务器,支持配置的实时更新。 3. API ...
标题:springsecurity3.1.pdf 描述:springsecurity3.1.pdf 标签:spring security3.1 部分内容:SpringSecurity Reference Documentation by Ben Alex and Luke Taylor 3.1.4.RELEASE **一、Spring Security 3.1...
1. Spring概述:解释Spring框架的历史、目标和架构,以及它如何简化企业级Java开发。 2. 依赖注入:详细讲解依赖注入(DI)的概念,它是Spring的核心特性,用于减少对象之间的耦合。 3. Spring容器:介绍...
自定义Spring Security的身份验证失败处理方法 在 Spring Security 中,身份验证失败处理方法是一个非常重要的组件,它能够帮助我们处理身份验证失败的情况。然而,默认的身份验证失败处理方法并不总是能够满足我们...
一、Spring Security概述 Spring Security是Spring生态系统的组成部分,主要负责应用程序的安全性,包括用户认证、权限控制和会话管理等。2.0.5版本虽已较为古老,但它的设计理念和核心机制对于理解现代版本仍有重要...
一、Spring Framework 3.1概述 Spring 3.1.0是Spring框架的一个重要里程碑,它在3.0版本的基础上进行了诸多优化和增强,旨在提供更好的性能、更丰富的功能以及更友好的开发者体验。这一版本引入了若干关键特性,...
1. Spring Security:提供用户认证和授权,保障系统安全性。 2. Spring Data JPA:简化数据库操作,支持多种数据库。 3. MyBatis:作为持久层框架,处理复杂SQL查询。 4. Thymeleaf:用于视图渲染,提供动态模板功能...
2. JWT认证授权:使用Spring Security和JWT(JSON Web Token)实现用户认证和授权,确保数据安全。 3. Axios集成:Vue3项目中,使用Axios库进行Ajax请求,与Spring Boot后端进行通信。 四、Spring Boot核心组件 1. ...
一、Spring概述 Spring是一个开源的Java平台,它简化了Java应用程序的开发,通过提供IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)等核心功能,实现了组件的解耦和...
### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的安全性受到了前所未有的关注。为了应对这些挑战,Spring Security 应运而生,成为了一个非常重要...
#### 一、Spring Security 概述 Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架,它为 Java 开发者提供了一套全面的安全解决方案。从 Spring Security 3 版本开始,该框架得到了极大的增强与...
3. Spring Security:用于Web应用的安全控制,它可以与`spring-web.jar`集成,提供认证、授权等安全服务。 四、Spring Web的扩展性 1. 自定义Filter:`spring-web.jar`允许开发者定义自定义Filter,进行请求和响应...