springboot整合security(一)入门

spring security主要功能:
1.认证——是什么身份
2.授权——有哪些权限
接下来演示如何使用(基于内存):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上是入门演示,security本质是一个过滤器链,主要有三大过滤器:
1.FilterSecurityInterceptor——方法级权限过滤器,位于过滤链最底部
2.ExceptionTranslationFilter——异常过滤器,用来处理认证授权中抛出的异常
3.UsernamePasswordAuthenticationFilter——对登录的POST请求做拦截校验

还有两大重要接口:
1.UserDetailsService接口——查询数据库用户名和密码过程,创建其实现类编写数据库查询过程会返回由框架提供的user对象
2.PasswordEncoder——数据加密接口,对返回的user对象的密码进行加密,上面入门案例已经使用过了

之前介绍了基于内存的认证,现在演示基于数据库的认证:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上的授权都是web授权,我们也可以利用方法注解授权,这样更加灵活。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用于权限控制的注解有:
1.@Secured——执行方法前验证角色
2.@PreAuthorize——执行方法前验证权限
3.@PostAuthorize——执行后返回前验证权限
4.@PostFilter——对返回值过滤
5.@PreFilter——对入参过滤,和PostFilter差别不大,这里不做演示。

之前已经演示了如何使用记住我功能,就是利用cookie存value,自动保存14天,然而只是基于内存的记住我,并没有持久化到数据库,服务器重启后会消失。
持久化token到数据库原理:
在这里插入图片描述

现在来演示如何自定义记住我功能,并持久化到数据库:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
CSRF跨站请求伪造:
CSRF是一种挟制用户在当前已登录的Web应用上执行非本意的操作的攻击方法,也就是利用技术手段欺骗用户去已认证过的网站进行一些违规操作,类似于信陵君窃符救赵故事。
security默认开启了CSRF保护,主要针对增删改之类操作,可以查看源码:

在这里插入图片描述
以下是开关csrf防护的效果演示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值