首页 > 其他分享 >SpringSecurity简介

SpringSecurity简介

时间:2023-05-04 10:45:33浏览次数:50  
标签:用户名 简介 用户 认证 Spring 过滤器 Security SpringSecurity

------------恢复内容开始------------

Spring Security简介

Spring Security是spring家族中的一个安全框架,相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富

一般来说中大型的项目都是使用spring security来做安全框架,小项目有Shiro的比较多,因为相比与Spring Security,Shiro的上手更加的简单

一般Web应用的需要进行认证和授权

  认证:验证当前访问系统的是不是本系统用户,并且要确认具体是哪个用户

  授权:经过认证后判断当前用户是否有权限进行某个操作

而认证和授权也是Spring Security作安全框架的核心功能,

 

 

快速入门

1.引入Spring Security

 在springboot项目中使用Spring Security我们只需要引入依赖即可实现入门案列

 引入依赖后我们去访问之前的接口就会自动跳转到Spring Security的默认登录页面,默认用户名user,密码会输出在控制台,必须登录之后才能访问

认证:

 登录校验流程

 

 

Spring Security完整流程

Spring Security的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器

 

图中只展示了核心过滤器,其他的非核心过滤器并没有在图中展示

UsernamePasswordAuthenticationFilter:负责处理我们在登陆页面填写了用户名密码后的登陆请求,入门案例的认证工作主要有它负责(认证)

ExceptionTranslationFilter:处理过滤器链中抛出的任何异常

FilterSecuritylnterceptor:负责权限校验的过滤器(授权)

 

 

认证流程

Authentication接口: 它的实现类,表示当前访问系统的用户,封装了用户相关信息

AuthenticationManager接口:定义了认证Authentication的方法

UserDetailsService接口:加载用户特定数据的核心接口。里面定义了一个根据用户名查询用户信息的方法

UserDetails接口:提供核心用户信息。通过UserDetailsService根据用户名获取处理的用户信息要封装成UserDetails对象返回。然后将这些信息封装到Authentication对象中

UsernamePasswordAuthenticationFilter实现类:实现了我们最常用的基于用户名和密码的认证逻辑,封装Authentication对象

DaoAuthenticationProvider实现类:是AuthenticationManager中管理的其中一个Provider,因为是要访问数据库,所以叫Dao

 

标签:用户名,简介,用户,认证,Spring,过滤器,Security,SpringSecurity
From: https://www.cnblogs.com/qihaokuan/p/17370372.html

相关文章

  • 23 IIC(一)IIC协议简介
    1硬件连接IIC硬件接线一般如下所示。从主控芯片引出两根线SCL和SDA。外加一个上拉电阻2数据传输格式2.1写操作主控芯片发出start信号主控芯片发出一字节的数据。前7bit为设备地址,最后一bit为方向:0表示写,1表示读主设备等待从设备应答主设备接到从设备的应答后开始发送......
  • SpringSecurity过滤器之UsernamePasswordAuthenticationFilter
    UsernamePasswordAuthenticationFilter处理表单登录及认证。AbstractAuthenticationProcessingFilter#doFilterprivatevoiddoFilter(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainchain) throwsIOException,ServletException{ if(!requires......
  • dockerfile概念简介——镜像分层
    一、dockerfile概念dockerfile是自定义镜像的一套规则dockerfile由多条指令构成,Dockerfile中的每一条指令都会对应于Docker镜像中的每一层1.1docker镜像的分层dockerfile的原理就是镜像分层。Dockerfile中的每个指令都会创建一个新的镜像层(是一个临时的容器,执行完后......
  • SpringSecurity过滤器之LogoutFilter
    LogoutFilter用于注销登录。privatevoiddoFilter(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainchain) throwsIOException,ServletException{ if(requiresLogout(request,response)){ Authenticationauth=SecurityContextHolder.getC......
  • SpringSecurity过滤器之DefaultLoginPageGeneratingFilter
    DefaultLoginPageGeneratingFilter用于生成默认登录页。privatevoiddoFilter(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainchain) throwsIOException,ServletException{ booleanloginError=isErrorPage(request); booleanlogoutSuccess......
  • SpringSecurity过滤器之SecurityContextHolderAwareRequestFilter,RequestCacheAwareFi
    SecurityContextHolderAwareRequestFilterSecurityContextHolderAwareRequestFilter对Servelet3.0的api做了封装。publicvoiddoFilter(ServletRequestreq,ServletResponseres,FilterChainchain) throwsIOException,ServletException{ chain.doFilter(this.requestF......
  • 组织简介&成员介绍
    紫水晶实验室(AmethystLab)由一群可能改变世界的人组成。该账号用于对成员的博文进行转载与分享。成员:SijunMa:兴趣方向为集成电路、信号处理。博客园:https://www.cnblogs.com/SijunMa/czg-bky:对无人驾驶、深度学习和黑丝很感兴趣。博客园:https://home.cnblogs.com/u/czg-bky/......
  • springSecurity过滤器之AnonymousAuthenticationFilter
    SpringSecurity提供了匿名登录功能,让我们不登录也能访问。比如/anoy路径及子路径都能匿名访问,配置如下:@ConfigurationpublicclassMySecurityConfigextendsWebSecurityConfigurerAdapter{@Overrideprotectedvoidconfigure(HttpSecurityhttp)throwsException......
  • Vue.js 简介与入门指南
    Vue.js是一个轻量级的JavaScript框架,用于构建交互式的用户界面。Vue.js的核心是一个用于构建组件化应用的视图层库,它易于上手,且能够快速地构建出高效、灵活、易于维护的应用程序。Vue.js受到了许多开发者的欢迎,因为它允许使用简单的HTML模板来创建可重用的组件,这些组件可以......
  • 7-001-七期简介及动态规划快速复习
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......