当前 Spring Security 版本:5.1.5-RELEASE
Spring Boot 2.1.5.RELEASE [Spring Security 官方文档]

一、Spring Security integrates with the Servlet

Spring Security 通过标准的 Servlet Filter 和 Servlet Container 进行整合。
在使用 Servlet Container 的 应用程序中,引入 Spring Security 即可实现安全认证。

二、Quickstart-Based on SpringBoot

2.1、QuickStart

Based on springboot 2.1.5-RELEASE

1-quick_start.7z

2.1.1、引入依赖

image.png
直接引入:

  • spring-boot-starter-web
  • spring-boot-starter-security

    2.1.2、测试 API

    image.png

    2.1.3、直接启动 springBoot 服务

    启动后,默认:

  • 登录名:user

  • 密码:在控制台中打印
    image.png

    2.1.4、访问 API,跳转验证界面

    image.png

    2.2、Spring Boot Auto Configuration

    使用 Spring Boot 整合 Spring Security 不需要很多配置。
    因为 Spring Boot 默认进行了大量配置。
    Spring Boot 在整合 Spring Security 后提供了很多功能,例如:

  • 与应用的交互都需要进行身份认证

  • 提供默认的登录页面
  • 提供一个默认的登录账号组合,用户名:user ,密码会打印在控制台
  • 使用 BCrypt 保护密码存储
  • 提供退出登录功能
  • CSRF 攻击保护
  • Session Fixation 保护
  • 安全请求头集成
    • 严格的传输协议
    • XSS 防护吉成
  • 提供一系列 Servlet API 方法
    • HttpServletRequest#getRemoteUser()
    • HttpServletRequest.html#getUserPrincipal()
    • HttpServletRequest.html#isUserInRole(java.lang.string)
    • HttpServletRequest.html#login(java.lang.String,java.lang.String)
    • HttpServletRequest.html##logout()