SpringBoot基础 -- SpringSecurity

SpringBoot基础 – SpringSecurity

1.介绍

1.1 功能

Spring Security是Spring项目组提供的安全服务框架,核心功能包 括认证和授权。它为系统提供了声明式安全访问控制功能,减少了 为系统安全而编写大量重复代码的工作。

1.2 认证

认证即系统判断用户的身份是否合法,合法可继续访问,不合法则 拒绝访问。

1.3 授权

授权即认证通过后,根据用户的权限来控制用户访问资源的过程, 拥有资源的访问权限则正常访问,没有权限则拒绝访问。


2.认证流程

2.1 图解

alt text

2.2 完整流程

​ SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。

  • UsernamePasswordAuthenticationFilter:负责处理我们在登陆页面填写了用户名密码后的登陆请求。入门案例的认证工作主要有它负责。
  • ExceptionTranslationFilter:处理过滤器链中抛出的任何AccessDeniedException和AuthenticationException 。
  • FilterSecurityInterceptor: 负责权限校验的过滤器。

2.3 解决问题

  • 登录
    ​ - 自定义登录接口
    ​ - 调用ProviderManager的方法进行认证 如果认证通过生成jwt
    ​ - 把用户信息存入redis中
    ​ - 自定义UserDetailsService
  • 校验
    ​ - 定义Jwt认证过滤器
    ​ - 获取token
    ​ - 解析token获取其中的userid
    ​ - 从redis中获取用户信息
    ​ - 存入SecurityContextHolder

注:本篇简单介绍SpringSecurity的原理,后续知识点将在面试题中体现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值