首页 > 其他分享 >SpringSecurity鉴权简介

SpringSecurity鉴权简介

时间:2023-12-02 11:33:58浏览次数:42  
标签:角色 URL 简介 SpringSecurity 过滤器 鉴权

前言

本博文为听课笔记,简单记录下SpringSecurity的鉴权方式及如何在整个流程中自定义个性化鉴权,以备后续学习及工程需要。

正文

一个请求进来SpringSecurity会经过一系列的过滤器,示意图如下:

  • jwtFilter简介:验证用户token,通过则将其保存在SpringSecurity的上下文,保持登录状态

  • FilterSecurityInterceptor简介:SpringSecurity通过这个过滤器实现权限验证。

    具体做法

    1. 拿到request的URL=》
    2. 拿到匹配器中的资源(如白名单等)与当前request中的资源匹配=》
    3. 匹配到的话,根据URL拿到对应角色(鉴权策略)=》
    4. 鉴权(对比:当前用户的角色和URL拿到的角色,对比上,有权限,否则,无权限)

    对应源码
    doFilter():
    beforeInvocation():在该方法中进行鉴权操作
    SecurityMetadataSource:维护所有资源、角色信息,根据当前URL获取角色信息
    AffirmativeBased.decide():鉴权:上一步的角色和当前用户的角色进行对比

  • 定制过滤器:在FilterSecurityInterceptor前加自定义dynamicSecurityFilter,示意图如下:

标签:角色,URL,简介,SpringSecurity,过滤器,鉴权
From: https://www.cnblogs.com/yuanyunjing/p/17871391.html

相关文章

  • 4.项目中的用户登录检验和用户鉴权
    用户登录检验和用户鉴权是用户管理模块中重要的一环,我在网上找了一些用户登录鉴权的方法,但大多数都是通过SpringSecurity框架实现该功能。我最初也没想过使用该框架,因此自己设计了一个简便的用户登录检验以及用户鉴权模块。1.用户登录检验对于用户登录检验功能,我是通过......
  • Spring Security鉴权注解
    一、JSR250规范注解需要通过以下方式来开启JSR250注解的识别@EnableMethodSecurity(jsr250Enabled=true)//默认为false以下的注解都在jakarta.annotation.security包下RolesAllowed:允许指定的角色访问DenyAll:拒绝所有的访问PermitAll:放开所有的访问这几个注解都是通过Authoriza......
  • 数据库简介
    数据库简介一、数据库的产生数据库技术是计算机科学中的一个重要分支,其产生源于数据管理的需求。随着计算机技术的不断发展,人们开始意识到需要一种高效、可靠的数据存储和管理方式来满足日益增长的数据处理需求。因此,数据库技术应运而生,并随着应用的不断扩展和深化,逐渐发展成为......
  • url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
    引子浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章javascript浏览器参数的操作,js获取浏览器参数 ,今天主要讲讲escape(),encodeURI(),enco......
  • 无涯教程-Python爬虫 - 简介
    Web抓取是从Web提取信息的自动过程,本章将为您提供有关Web抓取的深入概念,它与Web抓取的比较以及为什么要选择Web抓取。网页抓取字典中"Scrapping"一词的含义表示可以从网络中获取某些东西,这里出现两个问题:无涯教程可以从网上获得什么以及如何获得它。第一个问题的答案是"数据......
  • java 令牌解析_SpringSecurity 原理解析【4】:令牌还原与Session String changeSessio
    java令牌解析_SpringSecurity原理解析【4】:令牌还原与SessionStringchangeSessionId();//修改SessionIdSpringSecurity原理解析【4】:令牌还原与SessionSession:一般称为会话,不同环境中含义不同,在SpringSecurity中一个会话指:客户端从令牌认证请求到登出注销请求之间的......
  • SystemC简介与安装
    SystemC简介与安装介绍最近在搭建一个仿真器的工作,希望可以实现电路系统建模以后直接模拟macro上进行完整网络推理的电路表现,这样无论是设计过程时探索设计空间,进行方案评估,以及流片后的性能评估等都可以得到一个高度简化。综合考虑各类开源,最后决定使用SystemC进行电路的行为......
  • 简介
    简单来说,shell就是一个用户与操作系统之间的一个命令解释器;Shell是一个用C语言编写的程序,是用户使用Linux的桥梁,既是一种命令语言,又是一种程序设计语言。Shell是Linux系统的用户界面,提供用户与内核的一种交互方式,接收用户输入的命令,并把它送入内核去执行。 1.shell脚......
  • Linux shell简介
    Linuxshell简介一、什么是shell?shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。为什么要学习和使用shell?Shell属于......
  • springboot集成springsecurity
    转载自:www.javaman.cn1、整合springsecurity添加pom.xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>2、springsecurity认证授权......