谷粒商城实战笔记-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

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min