谷粒商城实战(017 业务-单点登录)

2024-04-24 04:20

本文主要是介绍谷粒商城实战(017 业务-单点登录),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第231p-第p235的内容


介绍

单点登录(Single Sign-On,SSO)是一种身份验证服务,允许用户使用一组凭据(例如用户名和密码)登录到多个相关但相互独立的软件系统中。在用户进行了一次登录认证后,他们就可以访问其他受信任的系统而无需重新进行身份验证。

SSO 的实现通常包括以下组件:

身份提供者(Identity Provider,IdP):负责认证用户并颁发令牌。用户只需要在身份提供者进行一次登录,然后可以通过令牌访问其他受信任的系统。

服务提供者(Service Provider,SP):受信任的应用程序或服务,依赖于身份提供者来验证用户身份。SP 接受来自身份提供者的令牌,并使用该令牌来授权用户访问其资源。

令牌(Token):由身份提供者颁发的安全令牌,包含有关用户身份和权限的信息。SP 在接收到令牌后,通过验证令牌的签名和有效期来确认用户的身份,并决定是否授权用户访问。

实现 SSO 的方法有多种,其中包括:

基于标准协议的 SSO:使用标准协议(如OAuth、OpenID Connect、SAML等)来实现 SSO。这些协议定义了身份验证和授权的流程,使得不同的系统可以与不同的身份提供者进行集成。

集中式身份管理系统:使用专门的身份管理系统来集中管理用户身份和权限,各个系统通过与该身份管理系统进行集成来实现 SSO。

基于令牌的 SSO:用户在登录时获取一个令牌,然后将该令牌用于访问其他系统。这种方式可以避免在每次访问时都需要与身份提供者进行通信。

SSO 的优点

包括提高用户体验、简化身份管理、减少密码重复使用等。然而,也需要注意安全性和隐私保护等方面的考虑,确保用户的身份信息不被泄露或滥用。

在这里插入图片描述
一处登录处处可用

单点登录示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
火绒也可以直接修改hosts(不推荐)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
已经聚合了其他三个项目,所以打包一次其他的都会打包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改配置文件重新打包
在这里插入图片描述

在这里插入图片描述

失败 原因 无法在maven仓库里找到核心包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还是报错的话 就整个项目重新打包

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
跳转到
在这里插入图片描述
在这里插入图片描述

编写单点登录

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
选择springBoot2.1.12版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里写配置到nacos里好一些,这种可能会被修改的,上线之后,不让改了,写配置可以用nacos改

响应里带location 是要重定向到这个location上
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

加粗样式
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
命令浏览器重定向到这个网址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新建第二个客户端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用@CookieValue标签获取当前请求的cookie值
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

cookie是放在sso域名下的,不管访问哪个客户端,都会判断是否登录,没有登录都会来到sso下,因为第一个客户端登录了留下了cookie并且在sso域名下,第二个就不用再登录就能携带第一个客户coo

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

在单点登录认证系统里添加一个方法来解析token

在这里插入图片描述

在客户端的单点登录方法里调用认证系统的解析方法

这里不要用feign 因为认证系统可能不是java写的(如可能是php写的) (openFeign是springCloud封装的http请求)
最好用http工具类 如HttpUtils或spring的restTemplate
在这里插入图片描述

得到响应的值
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
要登录其他人的得先退出登录,这个单点登录解决的是多个项目之间公用一个登录号
在这里插入图片描述

效果

在这里插入图片描述

在这里插入图片描述

这里使用的是cookie和session进行单点登录,现在已经不流行了,可以使用jwt + serurity单点登录


这篇关于谷粒商城实战(017 业务-单点登录)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme