首页 > 其他分享 >pig4cloud登录请求处理流程以及token的签发

pig4cloud登录请求处理流程以及token的签发

时间:2024-07-31 11:27:25浏览次数:9  
标签:SecurityFilterChain pig4cloud FilterChainProxy 签发 OAuth2ClientAuthenticationFilt

环境

SpringBoot版本:2.7.16

SpringSecurity版本:5.7.11

pig4cloud版本:3.7.1-JDK8

流程图

概述

登录请求过来之后还是先在DelegatingFilterProxy中跟踪,然后执行到FilterChainProxy;会通过请求路径进行匹配,找到对应能支持的SecurityFilterChain;然后获取到此SecurityFilterChain的所有Filter;然后依次逐个执行;在这个链上总共有19个Filter;主要有两个起认证作用,别的因为各种限制匹配条件全部放过;其余各Filter具体作用参照:pig4cloud请求分发流程和pig4cloud的Filter;首先会通过OAuth2ClientAuthenticationFilter 调用 RegisteredClientRepository  (数据库存储) 来判断传入的客户端是否正确;

然后OAuth2TokenEndpointFilter通过OAuth2ClientAuthenticationFilter的上文对象进行认证对象的组装,然后通过一系列认证操作生成认证对象进行返回;

一、FilterChainProxy

1. 通过请求地址进行匹配之后,找到对应的FilterChainProxy,可以看到这个SecurityFilterChain19Filter

2. 然后通过虚拟的FilterChain进行对Filters逐个执行doFilter方法;可以看到,第一个就是DisableEncodeUrlFilter

一、OAuth2ClientAuthenticationFilter 进行客户端认证

1. 执行到OAuth2ClientAuthenticationFilter 这个Filter的时候跟进doFilter方法;

可以看到会先进入其父类OncePerRequestFilter执行公共操作;

2. 跟进其子类的实现doFilterIn

标签:SecurityFilterChain,pig4cloud,FilterChainProxy,签发,OAuth2ClientAuthenticationFilt
From: https://blog.csdn.net/qq_44444470/article/details/140817903

相关文章

  • 如何实现无感刷新 Token
    使用JSONWebToken(JWT)进行身份验证是一种常见的做法。然而,JWT通常有一个有效期,当用户的令牌过期时,如果不进行处理,用户将被迫重新登录,这会影响用户体验。为了解决这个问题,可以实现无感刷新(silentrefresh)机制,自动刷新令牌而不打扰用户。本文将介绍如何实现无感刷新Token......
  • Pentester Academy -Windows API Exploitation Recipes: Processes, Tokens and Memor
    早年为PentesterAcademy(https://www.pentesteracademy.com/),如今为INE(https://ine.com/)002安装VS社区版https://visualstudio.microsoft.com/zh-hans/003processlistingapi正在运行的是什么:服务,AV,HIDS/IPS等其他attack开始的点:进程注入,内存dump/修改,TokenSt......
  • 【阿里云】通过OpenAPI获取Token(C#)
    使用C#实现https://help.aliyun.com/zh/isi/getting-started/use-http-or-https-to-obtain-an-access-tokenpublicstaticclassTokenHelper{publicstaticasyncTask<string>GetAccessTokenAsync(stringaccessKeyId,stringaccessKeySecret){......
  • 基于 token 的登陆系统的实现
    这是一段防爬代码块,我不介意文章被爬取,但请注明出处console.log("作者主页:https://www.cnblogs.com/w-blogg");console.log("原文地址:https://www.cnblogs.com/w-blogg/p/18328093");最近公司搞新项目,有个需求登陆,简单记录一下:app端实现一个登陆系统,七天内如果操作过,则不需......
  • go语言签发和验证license
    生成非对称密钥packagemainimport( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "os")//MakePem生成PEM文件funcMakePem(){ //生成RSA密钥对 privateKey,err:=rsa.GenerateKey(rand.Reader,204......
  • 万亿token!史上最大多模态数据集诞生
    开源多模态大模型或将开始腾飞。点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com值此Llama3.1占领各大头条之际,又突然冒出了另一个也非常重要的发布——一个规模空前的开源多模态数据集。对大模型来说,数据集的重要性无需多言,甚至可以说没有......
  • 业务场景---Token无感刷新
    业务场景描述假设用户正在填写一个复杂的表单,由于表单内容繁多,用户花费了很长时间才填完。这时,如果Token已经过期,系统会让用户重新登录,这种体验显然是非常糟糕的。为了避免这种情况,我们需要在Token即将过期或已经过期时,自动刷新Token,而不影响用户正在进行的操作。技术实现思路......
  • 【YashanDB数据库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIE
    问题现象客户的java日志中有如下异常信息:问题的风险及影响对正常的业务流程无影响,但是影响druid的mergesql功能(此功能会将sql语句中的字面量替换为绑定变量,然后将替换以后的sql视为同一个,然后用做执行性能统计)问题影响的版本与yashandb版本无关问题发生原因druid源码中在......
  • How do I increase max_new_tokens
    题意:怎样增加 max_new_tokens 的值问题背景:I'mfacingthiserrorwhilerunningmycode:    运行代码时遇到如下错误:ValueError:Inputlengthofinput_idsis1495,but max_length issetto20.Thiscanleadtounexpectedbehavior.Youshouldcons......
  • 关于token获取遇到的问题
    问题描述最近在做一个项目的登录的时候,发现了登录不上的问题。这个系统是从主系统(例如:www.abc.com)中登录,然后跳转到子系统中(例如:www.abc.com/d/e),主系统可以正常登录,但是在跳转子系统的过程中会遇到token失效的问题,总是进不去。问题研究最后发现,主系统登录后,token存储在path为......