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() ,否则会冲突)
7、anyMatchers用法
8、内置访问控制权限(六种)
8.1权限判断
8.2、角色判断
在UserDetailService实现类里配置角色名称 严格采用 ROLE_名称 方式
9、Oauth2认证(第三方)
9.1 简介
10、授权码模式(用得最多,最安全)
11、SpringSecurity Oauth2
先获取授权码 再获取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
2、通过授权码获取token
3、带着token访问资源
14、Jwt
认证方式:
①cookie
②oauth
③token auth
优点:
15、JWT简介
jjwt依赖
> jjwt > 0.9.0 > > ```<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0</version> </dependency>