前言
在之前介绍过了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.1. Spring Security是什么? 1.2. 历史 1.3. 发行版本号 1.4. 获得Spring Security 1.4.1. 项目模块 1.4.1.1. Core - spring-security-core.jar 1.4.1.2. Web - spring-security-web.jar 1.4.1.3. ...
1.1. Spring Security是什么? 1.2. 历史 1.3. 发行版本号 1.4. 获得Spring Security 1.4.1. 项目模块 1.4.1.1. Core - spring-security-core.jar 1.4.1.2. Web - spring-security-web.jar 1.4.1.3. Config -...
Spring Security-3.0.1 中文官方文档(翻译版) 这次发布的Spring Security-3.0.1 是一个bug fix 版,主要是对3.0 中存在的一些问题进 行修 正。文档中没有添加新功能的介绍,但是将之前拼写错误的一些类名进行...
Spring Security 参考 1 第一部分前言 15 1.入门 16 2.介绍 17 2.1什么是Spring Security? 17 2.2历史 19 2.3版本编号 20 2.4获得Spring安全 21 2.4.1使用Maven 21 Maven仓库 21 Spring框架 22 2.4.2 Gradle 23 ...
Spring Security是什么? 历史 发布版本号 Getting Spring Security Spring Security 4.1新特性 Java 配置提升 Web应用程序安全性提升 授权改进 密码模块的改进 测试的改进 一般的改进 样品和指南 (Start Here) Java ...
course, 这已经被新的"Learn Spring Security" 课程否决了 ================= = Spring Security 课程概述在整个 Spring Security 视频课程中,你将使用:使用 spring 安全性完全保护你的web应用程序使用数据库以及...
通常,此项目使用OWASP项目(Open Web Application Security项目, )和OpenID连接( )中的许多技术。 概述 所有代码都组织成两个单独的服务,Keycloak服务器在docker容器中运行 资源服务 名称:image_resource_...
概述在本教程中,我们将讨论如何使用Spring Security OAuth和Spring Boot实现单点登录 - 单点登录。我们将使用三个独立的应用程序授权服务器 - 这是中央认证机制两个客户端应用程序:使用SSO的应用程序简而言之,当...
1.1 Spring 概述 ............................................. 2 1.2 Spring 项目快速搭建 .................................. 5 1.3 Spring 基础配置 .....................................17 第2 章 Spring ...
1.1 Spring 概述 ............................................. 2 1.2 Spring 项目快速搭建 .................................. 5 1.3 Spring 基础配置 .....................................17 第2 章 Spring ...
您可以使用下图概述我们的Spring Boot Server: 有关更多详细信息,请访问: 刷新令牌 有关说明: 全栈认证 Spring Boot + React JWT身份验证 全栈CRUD应用 Vue.js + Spring Boot + MySQL / PostgreSQL示例 ...
具有Spring Security的Spring Boot服务器架构您可以使用下图概述我们的Spring Boot Server: 有关更多详细信息,请访问: 全栈认证全栈CRUD应用在一个地方同时运行后端和前端:相依性–如果要使用PostgreSQL: ...
电子工业出版社 作者: 汪云飞 书名: JavaEE开发的颠覆者 Spring Boot实战 ISBN编号: 9787121282089 第一部分 点睛Spring 4.x 第1 章 Spring 基础 ..........................................2 1.1 Spring 概述 ...
Spring 4.0安全性示例李·维特森(Lee Vettleson)概述该项目的目的是提供使用Spring Security的Web应用程序的隔离示例。 它专门利用Active Directory服务进行身份验证和角色成员身份。依存关系 入门建立: > gradle...
jwt-angular-spring-boot-security快速概述预安装的要求:Java 1.8 +,Maven,Node.js,Node Package Manager(NPM),MySQL。设置:(在Angular和Spring-Boot端都需要一些初始化命令) 转到要在其中安装项目的目录...
概述此示例应用程序演示了如何使用 Spring Security 来保护 Web 应用程序免受 CSRF 攻击,而无需使用 Spring Security 提供的身份验证和授权功能。 下载它并作为mvn clean tomcat7:run运行它。 然后使用 Web 浏览器...
项目整合了Dubbo分布式服务框架,以及SpringSecurity进行权限认证,确保系统的安全性和高效性。技术栈多元,主要使用JavaScript进行开发,同时涵盖了CSS、HTML、Java、PHP等多种语言。 文件构成:项目共包含3390个...
## Spring Boot 概述 Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。 Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。...
Spring Security Joomla 提供程序概述该项目提供了允许 Spring Security 使用 Joomla 用户帐户的实现。 主要思想是为Joomla 起主要作用且需要集成Spring/Java 应用程序的环境提供解决方案。它是如何完成的? Joomla ...
一、概述 在这个平台上,我们为大家带来了一系列的 JavaSSM(Spring + SpringMVC + MyBatis)项目。这些项目旨在展示SSM框架在实际应用中的魅力,同时也为开发者提供了一个快速学习和实践的机会。通过下载和使用...