首页 > 其他分享 >Spring Security开发实践

Spring Security开发实践

时间:2022-12-30 09:22:34浏览次数:37  
标签:自定义 Spring 实践 认证 开发 Security

Spring Security 是 Spring 家族中用于提供认证、授权和攻击防护功能的一套安全框架。它也是 Spring 应用在安全框架方面的公认标准。 Spring Security 安全框架适合为 Spring Boot 项目提供安全保护,所以如果您是个 Spring Boot 项目的开发人员,且正在寻找一种可以和 Spring Boot 轻松集成的,用于认证和鉴权的框架时,可以优先考虑 Spring Security。   Spring Security 的核心特性包括:认证和授权、常规攻击防范、与 Servlet 接口集成、与 Spring Boot 应用集成等。 认证和授权的目的是,让系统知道使用者是谁(认证)?是什么样的身份?允许他做什么?禁止他做什么?通常的做法是要求用户输入自己的用户名和密码,来实现登录和授权的过程。   本技术专栏提供了示例项目的源代码(购买完整专栏可获取),专栏中提供了下载链接:    

专栏大纲

Spring Security 是 Spring 家族中规范化的安全框架。它帮助我们轻松地构建应用安全环境,可以快速地实现认证(Authentication)和权限(Authorization)管理,它帮助我们规范化开发过程,是一套完整、成熟、易用的开发框架。   Java 环境下有两大安全框架:Spring Security 和 Apache Shiro。 和 Spring Security 一样,Shiro 同样隶属于一个强大的软件社区: Apache。二者的功能类似,都完成了认证和鉴权功能,都有超过十年的发展历史。Shiro 是一个独立的安全框架,Spring Security 则与 Spring 关联紧密,所以在二者的选择上,可以简单的用如下原则区分: 如果我们开发 Spring Boot 项目,那优先建议使用 Spring Security 安全框架。如果我们开发其他类型的项目,那请使用 Shiro 作为安全框架。   本技术专栏从零开始详细介绍了Spring Security的工作原理和开发实践过程,包括基于内存和数据库的用户认证、自定义用户认证、基于URL地址和访问级别的授权、密码编码、加密模块、默认过滤器链、自定义过滤器、自定义认证和动态授权的开发实践、自定义异常处理、单元测试、自定义登录和登出页面、同源策略(SOP)、跨站请求伪造(CSRF)、跨域资源共享(CORS)、CSRF攻击防御、前后端分离CORS跨域请求等等。 开发环境:Spring Boot 2.3.7.RELEASE + Spring Security 5.3.6.RELEASE 本技术专栏主要包含如下章节,并附带有示例项目源码:
  • 轻松创建Spring Security 入门应用
  • Spring Security应用请求流程、认证流程和认证方式
  • Spring Security 基于内存认证的开发实践
  • Spring Security基于数据库用户存储方案的开发实践
  • 初步理解Spring Security 工作流程和过滤器机制
  • 理解Spring Security中的用户对象
  • 理解Spring Security中的认证对象
  • 开发实践:基于Spring Security 实现自定义用户认证的详细过程【1】
  • 开发实践:基于Spring Security 实现自定义用户认证的详细过程【2】
  • 开发实践:基于Spring Security 实现自定义用户认证的详细过程-注册新用户
  • Spring Security中PasswordEncoder 密码校验和密码加密流程
  • Spring Security 中DelegatingPasswordEncoder 代理类简介和使用
  • Spring Security中的加密模块(Crypto)和使用入门
  • 轻松理解Spring Security中的授权、角色和权限
  • 实现Spring Security 基于URL地址级别的授权保护
  • 简要分析Spring Security 的授权流程
  • 实现Spring Security基于方法级别的授权保护
  • 如何查看Spring Security 过滤器链中的过滤器?
  • 轻松实现Spring Security框架中自定义过滤器
  • 轻松实现自定义过滤器检查请求头(Request Header)信息
  • 开发实践:基于Spring Security 实现可配置的动态授权-创建示例项目、表、模型和Repository
  • 开发实践:基于Spring Security 实现可配置的动态授权-实现自定义授权接口
  • 开发实践:基于Spring Security 实现可配置的动态授权- 自定义安全配置类
  • 开发实践:基于Spring Security 实现可配置的动态授权- 测试效果
  • 开发实践:Spring Security中的单元测试
  • 开发实践:基于Spring Security实现自定义AuthenticationEntryPoint
  • 开发实践:基于Spring Security实现自定义AccessDeniedHandler
  • 开发实践:自定义Spring Security登录和登出页面
  • 同源策略(SOP)、跨站请求伪造(CSRF)攻击和防御
  • 开发实践:基于Spring Security实现CSRF跨站攻击防御
  • 了解跨域资源共享(CORS)和请求流程
  • 开发实践:Spring Boot 应用跨域解决方案
  • 开发实践:在Spring Security应用项目中解决跨域问题


标签:自定义,Spring,实践,认证,开发,Security
From: https://www.cnblogs.com/rickie/p/17014053.html

相关文章

  • springboot简单了解
    先创建一下springboot工程,可以在idea里面创建,也可以在spring.io的官网里面创建,因为idea很卡,所以我一般用官网里面创建。  勾选起步依赖: 然后在程序中,对于控制器......
  • TiDB上百T数据拆分实践
    背景提高TiDB可用性,需要把多点已有上百TTiDB集群拆分出2套挑战1、现有需要拆分的12套TiDB集群的版本多(4.0.9、5.1.1、5.1.2都有),每个版本拆分方法存在不一样2、其......
  • 模拟spring-kafka实现kafka的consumer监听
    背景:因为某些原因,无法直接使用springboot提供的@KafkaListener,改为模拟springboot注解的方式搬过来实现首先创建一个业务处理的service,这个service主要用于消费下来的消息......
  • [Spring] Spring 中bean的生命周期
    在平时的工作中,我们的很多项目都是利用Spring进行搭建的。最近有空,基于源码好好分析一下,Bean在Spring中的生命周期这里我们先写一个简单的小例子<?xmlversion="1.0"e......
  • 一文搞懂SecurityContext
    一文搞懂SecurityContext1概述​ 首先需要阐明什么是SecurityContext,这是著名框架SpringSecurity中的组件,通过一段时间的研究,我可以很负责的说,在笔者微乎其微的智商水......
  • Spring AOP源码(四):具体执行流程 - 责任链模式
    1、AOP动态代理的字节码文件1.1、代理对象class的核心伪代码1publicclassMathCalculator$$EnhancerBySpringCGLIB$$9bfe5203extendsMathCalculatorimplementsS......
  • Springoot - 整合MyBatis
    1.导入JDBC驱动因为我的是Mysql数据库版本是8.0.20导入对应版本的驱动即可<!--mysql依赖--><dependency><groupId>mysql</groupId>......
  • 从Spring中学到的【2】--容器类
    容器类我们在实际编码中,常常会遇到各种容器类,他们有时叫做POJO,有时又叫做DTO,VO,DO等,这些类只具有容器的作用,具有完全的get,set方法,作为信息载体,作数据传输用。其实,很多地......
  • SpringBoot - WebMvcConfigurer 配置类
    WebMvcConfigurer:1.publicvoidconfigurePathMatch(PathMatchConfigurerconfigurer)路径匹配规则一般不用修改2.publicvoidconfigureContentNegotiation(ContentNe......
  • 分享丨品牌零售行业三大实践解读,全面搭建并落地数字化运营体系
    以下内容来自神策数据创始人&CEO桑文锋关于数据驱动零售品牌业务增长的相关分享。神策从2020年深入品牌零售领域,一路走来跌跌撞撞,不过思路越来越清晰,对该领域的理解也......