谷粒商城实战笔记-233~235-商城业务-认证服务-单点登录流程-原理

本文主要是介绍谷粒商城实战笔记-233~235-商城业务-认证服务-单点登录流程-原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一,场景
  • 二,单点登录流程

一,场景

包含以下三节的内容:

  • 一,233-商城业务-认证服务-单点登录流程-1
  • 二,233-商城业务-认证服务-单点登录流程-2
  • 三,233-商城业务-认证服务-单点登录流程-3

单点登录的原理总结,假设有以下三个服务:

  • 单点登录系统,域名sso.com
  • 商城系统,域名mall.com
  • 营销系统,域名sales.com

二,单点登录流程

单点登录的流程如下:

  • 用户使用商城系统的某个需要登录的功能,比如加购物车,浏览器发出请求,因为没有登录,所以没有cookie信息
  • 商城系统的网关判定为未登录,响应浏览器重定向到单点登录系统的登录页
  • 用户在登录页输入用户名密码登录
  • 登录系统验证用户名密码,验证通过后,响应浏览器,浏览器保存cookie,注意cookie是保存在登录系统域名下
  • 登录系统重定向请求到加购物车界面,发出加购请求,架构请求携带登录系统创建的cookie
  • 商城系统的网关感知到cookie,向登录系统发出请求,登录系统判断cookie有效,并返回用户信息
  • 商城系统将加购物车请求转发到商城后台系统执行业务逻辑
  • 商城系统拦截商城后台系统响应,让浏览器保存cookie信息和用户信息
  • 第一次登录成功
  • 用户打开营销系统,发出一个需要登录的请求,营销系统网关接受到请求,判定没有登录
  • 营销系统网关将请求重定向到单点登录系统的登录界面
  • 浏览器向单点登录系统发出请求,这一步要特别注意,特别关键,上一步登录时已经保存了cookie,所以这一步浏览器向登录系统发出请求时会携带cookie
  • 单点登录系统接受到请求后,验证cookie,判定登录有效
  • 单点登录系统将请求重定向到用户对营销系统的请求,并附带cookie信息
  • 营销系统网关接收到请求后,感知到cookie信息,向单点登录系统发出请求,验证登录是否有效
  • 单点登录系统验证登录有效,返回用户信息
  • 营销系统网关将请求转发到营销后台
  • 营销系统网关拦截营销后台响应,在响应中添加cookie和用户信息
  • 浏览器接收到响应后,保存cookie和用户信息,下一次请求就会携带cookie信息
  • 至此,实现了一次登录,多系统共享的逻辑,用户虽然感受不到,但实际结果浏览器多次重定向

这篇关于谷粒商城实战笔记-233~235-商城业务-认证服务-单点登录流程-原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095771

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser