首页 > 其他分享 >入门案例认证流程图讲解、思路分析

入门案例认证流程图讲解、思路分析

时间:2023-04-22 11:13:41浏览次数:37  
标签:UserDetailsService Authenticcation 流程图 用户 接口 认证 信息 讲解 入门

入门案例认证流程图讲解

 概念速查:

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

AuthenticcationManager接口:定义了认证Authenticcation的方法

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

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

思路分析

登录

  1、自定义登录接口

    调用ProvideManager的方法进行认证 如果认证通过生成jwt

    把用户信息存入redis中

  2、自定义UserDetailsService

    在这个实现列中去查询数据库

校验:

  1、定义Jwt认证过滤器

    获取token

    解析token获取其中的userid

    从redis中获取用户信息

    存入SecurityContextHolder

标签:UserDetailsService,Authenticcation,流程图,用户,接口,认证,信息,讲解,入门
From: https://www.cnblogs.com/wsfj/p/17342613.html

相关文章

  • SpringSecurity入门案例准备工作、入门案例引入SpringSecurity
    SpringSecurity入门案例准备工作1.快速入门1.1准备工作我们先要搭建一个简单的SpringBoot工程1、设置父工程添加依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3......
  • Linux驱动入门(三)Led驱动
    原文:https://dandelioncloud.cn/article/details/1454352899043295234Linux驱动入门系列Linux驱动入门(一)字符设备驱动基础Linux驱动入门(二)操作硬件Linux驱动入门(三)Led驱动Linux驱动入门(四)非阻塞方式实现按键驱动Linux驱动入门(五)阻塞方式实现按键驱动Linux驱动入门(六)poll机......
  • Vue3快速上手+俩种创建方式+主要源码讲解
    一.Vue3快速上手2020年9月19日凌晨,尤雨溪正式发布了Vue.js3.0版本,代号:OnePiece。此框架新的主要版本提供了更好的性能、更小的捆绑包体积、更好的TypeScript集成、用于处溪理大规模用例的新API,并为框架未来的长期迭代奠定了坚实的基础。3.0版本的开发周期长达两年多,期间......
  • Cobra 快速入门 - 专为命令行程序而生
    最近一直在看 Istio(一个 ServiceMesh 框架)相关的东西,当看到其源码时发现了一个新东西 Cobra,一查却发现这是个好东西,用的地方可不少,比如:Docker、Kubernetes 等都有它的身影存在。为了更好的了解这些开源框架(如,Istio、Kubernetes 等),势必需要对 Cobra 做一个详细的了解,后续可......
  • SVG 入门教程系列列表
     SVG入门教程系列列表:SVG教程(一)SVG教程(二)矩形SVG教程(三)圆形,椭圆,直线SVG教程(四)多边形,曲线,路径SVG教程(五)文本,Stroke属性,SVG滤镜,SVG模糊效果SVG教程(六)SVG阴影,SVG渐变–线性,SVG渐变-放射性SVG教程(七)SVG实例,SVG参考手册 更多参考:SVG动画入门SVG动画入门(二)SV......
  • 老杜 JavaWeb 讲解(四) ——Servlet编写JDBC连接数据库
    老杜 JavaWeb 讲解对应视频:08-servlet中编写jdbc程序连接数据库(六)在Servlet(Java小程序)中编写JDBC连接数据库6.1JDBC介绍:JDBC的全称是Java数据库连接(JavaDatabaseconnect),它是一套用于执行SQL语句的JavaAPI。[1]JDBC(JavaDataBaseConnectivity)是Java编程语言中......
  • 关于互助游戏系统开发项目方案讲解(成熟源码)
    区块链是一种去中心化的分布式账本技术,是比币实现的技术基础。区块链数据是分散在网络中的各个节点上,每个节点都有完整的数据副本,通过算法的共识来保证数据的一致性和可信性搭建lovei130908。functiontryMul(uint256a,uint256b)internalpurereturns(bool,uint......
  • 蓝牙Sig Mesh 概念入门③——分层结构Layered architecture
    文章目录一、Modellayer二、FoundationModellayer三、Accesslayer四、Transportlayer五、Networklayer六、Bearerlayer一、Modellayermodel定义了一个节点支持的功能特性,每一个model都定义了自己的opcode和status。比如genericonoffmodel,定义了GenericON/OFF/G......
  • 蓝牙Sig Mesh 概念入门②——网络角色
    文章目录一、前言二、Provisioner(配置节点)三、Proxy(代理节点)四、Node(普通节点)一、前言SigMesh组成了一个大网,里面有很多设备。包括协助设备入网的网关,终端的执行者节点,实际的控制者手机App等。他们分别作为什么角色,有着什么关系?二、Provisioner(配置节点)将未入网的设备引导入网的......
  • 【四二学堂】基于UiBot RPA开发入门---流程判断
    流程块一:dimaa=1Returna流程块二:TracePrint"a的值等于1时执行的模块"流程块三:TracePrint"a的值不等于1时执行的模块"......