SpringSecurity学习(一)

系列文章目录

第一章 SpringSecurity学习入门


前言

主要记录SpringSecurity实现原理以及简单实现


一、SpringSecurity是什么?

SpringSecurity本质上是一个过滤器链

1.FilterSecurityInterceptor(过滤器安全拦截器)

  • FilterSecurtiyInterceptor实现Filter方法所以是一个过滤器,不是接口
  • doFilter方法中进行具体的过滤判断

2.ExceptionTranslationFilter(异常过滤器)

  • 判断认证授权中的异常

3.UsernamePasswordAuthenticationFilter(用户名密码校验过滤器)

  • attemptAuthentication方法中进行具体的用户校验

二、使用步骤

本项目是基于 SpringBoot框架实现
本项目是基于 SpringBoot框架实现
本项目是基于 SpringBoot框架实现

1.引入依赖

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

2.实际使用

/**
 * @author xiao-_-wu
 * @date 2021/4/8 9:31
 */
@Slf4j
@RestController
@RequestMapping("/test")
public class TestController {

    @GetMapping("/hello")
    public String helloSecurity(){
        return "Hello Security";
    }
}

引入依赖后项目会直接进行安全拦截,这个时候是访问不到 /test/hello 接口的会直接进入SpringSecurity登录页面
在这里插入图片描述
账号默认是 user
密码则在项目启动时控制台输出
在这里插入图片描述

总结

SpringSecrity的本质上是过滤器,通过一系列的过滤器来达到安全认证,主要注意FilterSecurityInterceptor,ExceptionTranslationFilter,UsernamePasswordAuthenticationFilter这三个过滤器

1 个赞