引入Spring Security
1. 简介
Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。
2. 认证过程
- 用户使用用户名和密码进行登录。
- Spring Security 将获取到的用户名和密码封装成一个实现了 Authentication 接口的 UsernamePasswordAuthenticationToken。
- 将上述产生的 token 对象传递给 AuthenticationManager 进行登录认证。
- AuthenticationManager 认证成功后将会返回一个封装了用户权限等信息的 Authentication 对象。
- 通过调用 SecurityContextHolder.getContext().setAuthentication(…) 将 AuthenticationManager 返回的 Authentication 对象赋予给当前的 SecurityContext。
上述介绍的就是 Spring Security 的认证过程。在认证成功后,用户就可以继续操作去访问其它受保护的资源了,但是在访问的时候将会使用保存在 SecurityContext 中的 Authentication 对象进行相关的权限鉴定。
3. 引入依赖
3.1. SpringBoot版本
3.2. 引入Spring Security依赖
在这里使用Maven管理项目依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
4. 启动项目测试Security是否生效
4.1. 访问项目会自动跳转到登陆界面
引入依赖后,再不进行其它操作的情况下,如若访问项目,Security会将其拦截重定向此默认界面。
默认登录名是:user
默认登录密码可在启动控制台查看
4.2. 输入账号密码
接口访问成功!
自定义账号密码
spring:
security:
user:
name: admin
password: 123456
至此,Srping Security引入成功!