第一章了解Spring Security


Spring Security是基于Spring的安全框架。它提供全面的安全性解决方案,同时在Web请求和方法调用级处理身份确认和授权。在Spring Framework基础上,Spring Security充分利用了依赖注入(DI)和面向切面编程(AOP)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。是一个轻量级的安全框架。他与SpringMVC有很好地集成。

1.1Spring Security 核心功能

(1)认证(你是谁,用户/设备/系统)

(2)验证(你能干什么,也叫权限控制/授权,允许执行的操作)

1.2Spring Security 原理

基于 Filter,Servlet,AOP实现身份认证和权限验证

第二章 实例驱动学习


导入依赖:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

SpringSecurity完整流程

SpringSecurity的原理其实就是一个过滤链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。

图中只展示了核心过滤器,其他的非核心过滤器并没有在图中展示。

UsernamePasswordAuthenticationFilter:负责处理我们登录页面填写了用户名密码后的登录请求。入门案例的认证工作主要有它负责。

ExceptionTranslationFilter:处理过滤器中抛出的任何AccessDeniedException和AuthenticationException。