为什么需要SpringSecurity?
安全需要:
- 认证
- 授权
- 防范漏洞攻击
构建SpringBoot Web项目整合SpringSecurity
-
idea创建项目,加入maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
-
创建SpringBoot启动类
@SpringBootApplication public class SecurityBootApplication { public static void main(String[] args) { SpringApplication.run(SecurityBootApplication.class, args); } }
-
启动服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gmi7Y0Op-1665395912428)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220928162330814.png)]
这个就是生成的请求密码
-
创建一个HelloController服务
@RestController public class HelloController { @GetMapping("hello") public Result<String> hello(){ return Result.success("成功"); } }
-
重新启动服务,浏览器访问http://localhost:8080/hello,弹出登录页面,账号是user,密码是从控制台生成的密码
参考官网文档,知道在这里做了什么事情
- 启用SpringSecurity的默认配置,创建一个叫SpringSecurityFilterChain的Sevlet的过滤器,这个过滤器是管理你应用的所有权限(控制应用url,校验提交的账号和密码,重定向到登录表单 等等)
- 创建一个UserDatailsService的Bean,随之创建一个用户名称是user的用户和从控制台生成密码
- 为所有的请求注册SpringSecurityFilterChain