springsecurity:
1、启动时自动跳转自带登录页面
2、使用数据库的账号密码时,需实现UserDetailService接口
3、加密通过实现passwordEncoder接口
4、用marches判断两个密码是否相等
5、自定义登录页面通过SecurityConfig继承WebSecurityConfigAdapter ——》重写configuer(HttpSecurity http)方法

6、前后端分离时,实现登录后跳转 (失败跳转同理)
6.1 实现AuthenticationSuccessHandle接口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ktpjjeqg-1647693195991)(…/…/…/…/AppData/Roaming/Typora/typora-user-images/image-20220118205409815.png)]
6.2 在SecurityConfig下配置successHandle()(需注销掉successHandler() ,否则会冲突)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0lkuSO0V-1647693195991)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205426518.png)]](https://i-blog.csdnimg.cn/blog_migrate/55d2ff5af9202c6662072224b1aa4414.png)

7、anyMatchers用法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lC0Xy2Px-1647693195992)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205441430.png)]](https://i-blog.csdnimg.cn/blog_migrate/f65d83f6c22044253013524a716c6dee.png)
8、内置访问控制权限(六种)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SHmZjmvh-1647693195992)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205501285.png)]](https://i-blog.csdnimg.cn/blog_migrate/3eee165bedd7134dc22b3771ad3858c0.png)
8.1权限判断
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6YTseNAY-1647693195993)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205512559.png)]](https://i-blog.csdnimg.cn/blog_migrate/40a291a5a9d2af0d27623bf1e2d456ba.png)
8.2、角色判断
在UserDetailService实现类里配置角色名称 严格采用 ROLE_名称 方式
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UYbnuRsR-1647693195994)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205534629.png)]](https://i-blog.csdnimg.cn/blog_migrate/cf7c6d55292f0d144c153f6aa3b9c10f.png)
9、Oauth2认证(第三方)
9.1 简介


10、授权码模式(用得最多,最安全)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q63YYerq-1647693195996)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205630710.png)]](https://i-blog.csdnimg.cn/blog_migrate/3cf2299fd207e96825b5a5d70de0409a.png)
11、SpringSecurity Oauth2
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ORERcWPT-1647693195997)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205639519.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KbgoTYTo-1647693195997)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205647477.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LXsB13dl-1647693195998)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205653688.png)]](https://i-blog.csdnimg.cn/blog_migrate/953fccb1dbefb7433aa8670fd43da4fb.png)
先获取授权码 再获取token
11、springsecurityoauth2依赖
org.springframework.cloud
spring-cloud-starter-oauth2
2.1.5.RELEASE
org.springframework.cloud
spring-cloud-starter-security
2.1.5.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
12、授权码模式演示
1、获取授权码
http://localhost:8080/oauth/authorize?response_type=code&client_id=admin&redirect_uri=http://www.baidu.com&scope=all
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vKjvi0ES-1647693195999)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205707979.png)]](https://i-blog.csdnimg.cn/blog_migrate/476f8619fb3c458a2f1b3a0745669f51.png)
2、通过授权码获取token
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9TAWZVrk-1647693195999)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205716927.png)]](https://i-blog.csdnimg.cn/blog_migrate/038d9188d4238d73f1355a43763631d3.png)
3、带着token访问资源
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xsygT6XA-1647693196001)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220118205737496.png)]](https://i-blog.csdnimg.cn/blog_migrate/f26dde72587b3d14c10bc03060981981.png)
14、Jwt
认证方式:
①cookie
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-clfqQ8iv-1647693196002)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220119140659452.png)]](https://i-blog.csdnimg.cn/blog_migrate/3a09612b3a289c3ae829957576f0a42f.png)
②oauth


③token auth
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uNYnV4Gt-1647693196005)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220119140853392.png)]](https://i-blog.csdnimg.cn/blog_migrate/fae18984a999ecdb8b35492f7498af85.png)
优点:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tGTegyvF-1647693196006)(../../../../AppData/Roaming/Typora/typora-user-images/image-20220119141042180.png)]](https://i-blog.csdnimg.cn/blog_migrate/f2d4d4117913bcc8dc6df33a8a2d0ae1.png)
15、JWT简介


jjwt依赖
> jjwt > 0.9.0 > > ```<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0</version> </dependency>
本文详细介绍了Spring Security的使用,包括自动跳转登录页面、自定义UserDetailService、密码加密、登录页面定制、权限控制、OAuth2授权流程。重点讲解了授权码模式的实现步骤,以及JWT的认证方式和优势。同时,提供了相关依赖配置和关键代码示例。
770

被折叠的 条评论
为什么被折叠?



