谷粒商城实战笔记-231-商城业务-认证服务-单点登录简介

news2024/11/29 20:58:34

文章目录

  • 一,跨域名共享登录
    • 1,父子域名共享登录
    • 2,跨域名登录
  • 二,单点登录-SSO
    • 单点登录的必要性
    • 单点登录的原理
  • 三,XXL-SSO,开源的单点登录解决方案

一,跨域名共享登录

1,父子域名共享登录

在这里插入图片描述

前面的课程中,学习了单系统间如何跨父子域名、跨服务解决登录问题,

这种解决方案有一个不可逾越的限制:只能跨父子域名,如果auth.gulimall.comgulimall.com,这两个域名的根域名相同,都是gulimall.com

下面这种域名不同的多系统,前面的方案就不再适合了。

2,跨域名登录

在这里插入图片描述

图片中有多个系统:

  • 谷粒学院-在线教育
  • 谷粒商城-电商系统
  • 谷粒筹-众筹系统

他们都是尚硅谷的系统,每个系统的域名不同,由于浏览器的限制,不同的域名不可以共享cookie,按照之前的方案,三个系统要分别登录,用户体验差。

跨域名共享登录是解决这个问题的方案,跨域名共享登录实际上就是我们常说的单点登录

如果它们都实现了单点登录,用户只需要在其中一个系统登录,就可以访问所有这些服务,而不需要在每个服务上都单独登录。这大大提升了用户体验和系统的易用性。

二,单点登录-SSO

单点登录(Single Sign-On, SSO)是一种用户身份验证机制,它允许用户在多个系统或应用程序之间进行无缝访问,而无需重复登录。

图片中有多个系统,例如"谷粒学院-在线教育"、"谷粒商城-电商系统"等,如果它们都实现了单点登录,用户只需要在其中一个系统登录,就可以访问所有这些服务,而不需要在每个服务上都单独登录。这大大提升了用户体验和系统的易用性。

单点登录的必要性

  1. 提高用户体验:用户只需登录一次,即可访问所有相关系统,避免了重复输入用户名和密码的麻烦。
  2. 减少密码管理问题:用户不需要记住多个系统的登录凭证,降低了忘记密码和重置密码的频率。
  3. 提高安全性:集中管理用户身份验证可以减少密码泄露的风险,同时便于实现更高级的安全策略,如多因素认证。
  4. 简化管理:管理员可以在一个中心位置管理用户账户和权限,简化了用户账户的创建、维护和删除过程。
  5. 降低成本:减少对多个登录系统的依赖,可以降低系统维护和支持的成本。

单点登录的原理

  1. 身份认证:用户首先在一个系统中进行身份验证。
  2. 令牌生成:一旦用户通过身份验证,系统会生成一个令牌(Token),这个令牌通常包含用户的认证信息和权限。
  3. 令牌传递:用户访问其他系统时,将令牌传递给这些系统。
  4. 令牌验证:其他系统接收到令牌后,会验证令牌的有效性。如果令牌有效,系统会允许用户访问,无需再次输入登录信息。
  5. 会话管理:SSO系统通常会有一个会话管理器来跟踪用户的登录状态和令牌的有效性。

在实际应用中,SSO可以通过多种技术实现,例如基于SAML(安全断言标记语言)、OAuth或OpenID Connect等标准。这些标准定义了如何在不同的系统和服务之间安全地交换用户身份验证信息。

三,XXL-SSO,开源的单点登录解决方案

**xxl是作者许雪里的拼音首字母。**他最有名的开源项目是xxl-job,膜拜一下开源大神,希望有朝一日能看见大神的尾灯。

在这里插入图片描述

XXL-SSO 是一个开源的分布式单点登录框架,它允许用户只需登录一次就可以访问所有相互信任的应用系统。

这个框架具有轻量级、分布式、跨域、支持Cookie和Token两种接入方式,并且适用于Web和APP场景。

XXL-SSO 拥有简洁直观的API,易于快速上手,同时环境依赖小,部署和接入成本较低。

它支持基于Session的登录方式,也支持Token方式,特别是当无法使用Cookie的场景下,如APP或Cookie被禁用时。

XXL-SSO 的主要特性包括:

  • 单点登录:用户只需登录一次即可访问所有应用。
  • 分布式部署:支持接入SSO认证中心的分布式应用。
  • 高可用性:Server端与Client端均支持集群部署。
  • 跨域支持:可以接入跨域的SSO认证中心。
  • 同时支持Cookie和Token两种方式。
  • 实时性:系统登录和注销状态在Server和Client端实时共享。
  • 记住密码功能:可以根据用户选择记住密码,实现登录态的自动延期。

环境要求包括JDK 1.7+、Redis 4.0+和Mysql 5.6+。快速入门指南提供了基于Cookie和Token两种方式的示例,包括系统数据库初始化、源码编译、部署认证中心以及单点登录Client端接入示例项目的步骤。

XXL-SSO 的源码可以在Gitee上找到,项目地址为 https://gitee.com/xuxueli0323/xxl-sso 。项目还包括详细的文档和快速入门指南,帮助开发者快速理解和部署使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OSPF-基础多区域实验

1.ENSP下载 阿里云盘分享 ⭐/*无需密钥 免费下载 安装不成功,可关注并私信博主*/ 2.OSPF的基础需求和规则 实验规则: 1.接口地址→XY.XY.XY.R /24 X:两者之间最小的 Y:两者之间最大的 R:谁的接口就是谁的编号 以R1和R2之间的连接为例&#xff0…

中国植物性状数据库

中国植物性状的研究主要集中在植物的生理结构和功能,‌以及它们对环境的适应性上。‌中国植物性状的多样性体现在多个方面,‌包括植物的生理结构、‌生长习性、‌以及对环境的适应性等。 中国植物性状数据库,包含了来自140个样点的1529种植物…

Leetcode876. 链表的中间结点(双指针)

题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例: 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中…

游泳耳机哪个品牌好?四大热门爆款游泳耳机实测体验速览!

游泳耳机作为水下运动的伴侣,有着不少喜爱的人群。然而,也有一部分人对其保持距离,原因往往是担心水下耳机进水损坏。但只要我们避开那些缺乏专业技术实力的产品,就能享受水下音乐带来的无限乐趣。作为一名资深音乐爱好者和游泳教…

减震组装对于哪些无人机是必不可少的!你知道吗?

高精度无人机 对于需要搭载高精度传感器或进行高精度测量的无人机,如测绘无人机、环境监测无人机等,减震组装是必不可少的。这些无人机需要确保在飞行过程中传感器数据的准确性和稳定性,因此必须采用有效的减震措施。 载重无人机 载重无人…

个人收藏个性化、实用性、可玩性在线网站持续更新,与君共享

1.https://handraw.top/ 支持中文手绘效果的白板工具,比较怀旧复古风格 界面简单风 2.https://app.diagrams.net 流程图、UML图、网络图、组织结构图、思维导图等,比较专业 可导出图片 PDF HTLM等各种格式 3.https://www.processon.com 主要用于生成…

杜占朋人物风采

杜占朋,衡水名校校长,一位荣获全国杰出青年称号的杰出教育家,同时也是全国范围内备受尊崇的红色基因传承者。他以其卓越的学术成就、丰富的实践经验以及不懈的教育创新精神,成为了当代教育领域的璀璨明星。他身兼数职,…

一文速通 Vue 基础

1、Vue 概述 官方文档中文:https://staging-cn.vuejs.org/ 英文:Vue.js - The Progressive JavaScript Framework | Vue.js 1.1、什么是 MVVM MVVM(Model-View-ViewModel)是一种软件设计模式,由微软WPF&#xff08…

C语言中的联合体和枚举类型

文章目录 🍊联合体🍊枚举类型 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊联合体 1、概述   联合体该结构体的定义形式类似,但是它是所有的成…

信息安全保证人员CISAW:安全集成

信息安全保障人员认证(CISAW)在安全集成领域的认证,主要针对申请者在信息系统安全集成的知识和理论以及项目实施中的综合应用能力进行全面评估。 这一认证特别强调对申请者在安全集成方面的知识深度和利用这些知识分析、解决实际问题的能力的评价。 此外&#xff…

python初级爬虫实战:我是怎么用python下载音乐的

今天分享的内容是如何使用python下载歌曲和歌词信息,文章涉及内容主要为了帮助大家学习python技能,请大家合规合理使用。 如果你正在学习Python爬虫,但是找不到方向的话可以试试我这一份学习方法和籽料呀!点击 领取(不…

北斗对我们普通人的生活有什么影响?

自北斗卫星导航系统(BDS)全面覆盖全球以来,北斗导航在我们日常生活中的重要性与日俱增。本文将详细探讨北斗导航系统如何从方方面面改变我们普通人的生活。 1. 精准定位:现代生活的基石北斗系统最显而易见的影响体现在精准定位和导…

Linux:进程的概念,进程相关函数

一、进程的概念 1.进程 进程是系统进行资源分配和调度的一个独立单元,它是操作系统结构的基础。进程是程序的一次执行过程,包含了程序代码、当前活动、系统资源(如CPU、内存、文件等)的使用情况等信息。每个进程都有自己独立的内…

2024最强CSS基础知识大全(含代码)

CSS 什么是 CSS CSS(Cascading Style Sheets) 指层叠样式表,样式定义如何显示 HTML 的样式,样式通常存储在样式表中,把样式添加到 HTML5 中,是为了解决内容与表现分离的问题,外部样式表可以极大提高工作效率&#xf…

三勾点餐系统|支持多端发布,方便二次开发

版本号1.7更新日志 新增:腾讯地图key设置(更新后请设置key) 新增:支付宝小程序登录和支付 新增:前端点餐时选择门店 新增:前端点餐页面优惠活动显示 新增:H5修改手机号 新增:H…

conda不是内部或外部命令

conda不是内部或外部命令 是anaconda环境变量没有添加到系统环境变量 解决办法 找到anaconda安装目录,添加以下系统环境变量 注意事项 pycharm在选择anaconda创建虚拟环境时,使用的是_conda.exe

2000-2023年逐年最大NDVI数据集(500m)

植被指数(NDVI, Normalized Difference Vegetation Index)可以准确反映地表植被覆盖状况。目前,NDVI时序数据已经在各尺度区域的植被动态变化监测、土地利用/覆被变化检测、宏观植被覆盖分类和净初级生产力估算等研究中得到了广泛的应用。 中…

YOLO入门教程(二)——OpenVINO™部署YOLO模型与异步推理实现150FPS+实时检测【含教程源码 + 环境配置】

目录 引言前期准备Step1 pt格式转onnx格式Step2 创建工程文件并安装NuGet PackageStep3 预处理API部署YOLO模型Step4 前处理推理后处理Step5 异步推理参考博客 引言 YOLO(You Only Look Once)作为一个目标检测算法,其调用的接口为Python语言…

架空防静电地板的贴面面层有哪些

很多机房装修都会用到架空防静电地板,架空防静电地板由贴面、基材、支架横梁系统组成,那么架空防静电地板的贴面都有哪些呢?一起来看看~ 防静电地板常用贴面面层有3种: 1、PVC防静电贴面面层;2、HPL防静电贴面面层;3、瓷砖防静电贴面面层 1、…

《治疗前磁共振成像显示的结直肠癌患者的结外扩展及其预后价值》| 文献速递-基于深度学习的癌症风险预测与疾病预后应用

Title 题目 Extranodal Extension at Pretreatment MRI and the Prognostic Value for Patients with Rectal Cancer 《治疗前磁共振成像显示的结直肠癌患者的结外扩展及其预后价值》 Background 背景 Detection of extranodal extension (ENE) at pathology is a poor pr…