谷粒商城实战笔记-232-商城业务-认证服务-框架效果演示-xxl-sso-徐雪里

news/2024/11/9 17:07:49/

文章目录

  • 一,膜拜大神许雪里
  • 二,用开源框架xxl-sso演示单点登录
    • 1,我是老板,我有三个网站
    • 2,配置域名
    • 3,下载xxl-sso代码
    • 4,服务规划
    • 5,配置修改
    • 6,启动项目
      • 6.1 启动sso-server项目
      • 6.2 启动sso-samples项目
        • 配置允许一个模块启动多个实例
        • 指定端口8082启动第二个服务xxl-mall
        • 指定端口8081启动第一个服务xxl-mall
    • 7,访问服务查看页面效果
      • 7.1 三个服务都不登录
      • 7.2 任一个服务登录

一,膜拜大神许雪里

开源项目xxl-job,相信大多数人都学习或者使用过,一个非常优秀的分布式任务调度平台,其作者是许雪里,xxl是他名字的拼音首字母。

在这里插入图片描述

这一节内容,我们将学习他的另一大作,开源的单点登录框架:xxl-sso

二,用开源框架xxl-sso演示单点登录

1,我是老板,我有三个网站

假设我是一个互联网公司的老板,公司有三个网站,域名分别是:

  • ssoserver.com,单点登录网站
  • xxl-mall.com,购物商城
  • xxl-invest.com,投资赚钱网站

要实现单点登录,即上面三个网站中任一个网站登录成功后,其他网站不用登录即可获得用户登录的效果。

我们将用xxl-sso来演示单点登录的效果。

2,配置域名

把下面三个域名都映射到本地IP。

  • ssoserver.com
  • xxl-mall.com
  • xxl-invest.com

3,下载xxl-sso代码

项目托管在gitee,地址:https://gitee.com/xuxueli0323/xxl-sso

使用Idea克隆到本地。

在这里插入图片描述

4,服务规划

我们要启动三个项目:

注意后面两个服务是xxl-sso下的同一个模块,但是端口不同,访问时使用的域名也不相同。

  • 单点登录服务:xxl-sso-server,访问地址:ssoserver.com:8080/xxl-sso-server
  • xxl-mall服务:xxl-sso-samples,访问地址:xxl-mall.com:8081/xxl-sso-web-sample-springboot
  • xxl-invest服务:xxl-sso-samples,访问地址:xxl-mall.com:8082/xxl-sso-web-sample-springboot

5,配置修改

在启动项目之前,要修改一下项目的redis配置,修改自己虚拟机的IP。

5.1 xxl-sso-server redis配置修改

在这里插入图片描述

5.1 xxl-sso-samples r配置修改

注意,如下图所示,要修改两个地方:

  • 单点登录服务的域名,我们在hosts配置的是ssoserver.com,和默认的不一致,要修改为我们配置的域名
  • redis的IP
    在这里插入图片描述

6,启动项目

6.1 启动sso-server项目

直接启动启动类即可。

启动成功后在浏览器中输入如下地址访问。

ssoserver.com:8080/xxl-sso-server

页面效果如下图。

在这里插入图片描述

6.2 启动sso-samples项目

我们要用同一个模块模拟两个服务,不能直接启动,首先需要做一个简单的配置。

配置允许一个模块启动多个实例

在Idea的启动配置界面,配置允许运行多个实例。

在这里插入图片描述

指定端口8082启动第二个服务xxl-mall

右键模块xxl-sso-web-sample-springboot,按下图操作。

在这里插入图片描述
打开启动配置界面,在配置界面配置环境变量server.port=8082

在这里插入图片描述
修改之后,右键启动类,启动服务。

在这里插入图片描述

指定端口8081启动第一个服务xxl-mall

和上一步操作相同,但是端口是8081,打开启动配置界面,在配置界面配置环境变量server.port=8081

修改之后,右键启动类,启动服务。

在这里插入图片描述
注意,虽然启动的是同一个启动类,但是因为端口不同,实际上是启动了两个服务。

在这里插入图片描述

7,访问服务查看页面效果

按照下面地址访问三个服务。

  • 单点登录服务:xxl-sso-server,访问地址:ssoserver.com:8080/xxl-sso-server
  • xxl-mall服务:xxl-sso-samples,访问地址:xxl-mall.com:8081/xxl-sso-web-sample-springboot
  • xxl-invest服务:xxl-sso-samples,访问地址:xxl-mall.com:8082/xxl-sso-web-sample-springboot

7.1 三个服务都不登录

7.1.1 单点登录服务:xxl-sso-server

在这里插入图片描述

7.1.2 xxl-mall服务:xxl-sso-samples
浏览器地址输入xxl-mall.com:8081/xxl-sso-web-sample-springboot,因为没有登陆过,所以重定向到单点登录服务的登录界面
在这里插入图片描述

7.1.3 xxl-mall服务:xxl-sso-samples
浏览器地址输入xxl-mall.com:8082/xxl-sso-web-sample-springboot,同上面一样,因为没有登陆过,所以也会重定向到单点登录服务的登录界面

7.2 任一个服务登录

任选一个服务登录,然后重新访问其他两个服务。

登录成功后,重新访问其他两个服务,发现无需再次登录。

这就是单点登录的效果,对于多个域名完全不同的系统,只需要登录一次即可。


http://www.ppmy.cn/news/1512409.html

相关文章

nodejs操作gitee图床上传更新和删除

新建文件夹 使用vscode打开当前文件夹 初始化项目 npm init-y安装axios npm install axios根目录下放个图片文件,如aaa.png 在根目录下创建app.js文件 输入以下内容 console.log(11111)运行项目 node ./app.js终端只要打印出111就代表项目创建完成了 创建token令牌 点…

VScode误删文件恢复或恢复之前版本记录

一、从vscode本地历史记录中恢复 设置>命令面板>Local History: Find Entry to Restore 点击设置选择命令面板(Ctrl Shift P)搜索 Local History ,然后搜索你要恢复的文件名选择记录恢复即可 二、使用Git重新拉取或回复文件版本 g…

Qt下让程序只运行一个实例,避免重复打开

参考 【实现QT单例程序 QSystemSemaphore QSharedMemory】 做了一点点更改,主要是在openEuler上用时遇到的一点问题。 QSharedMemory *unimem nullptr; void checkExist() {QString memName "SingleApp"; // 注意这名字要每个工程不一样,否…

数据库性能指标及数据要素构架设计

数据库性能指标及数据要素构架 一、引言在当今数字化时代,金融行业高度依赖信息技术来处理大量的敏感数据和进行复杂的交易操作。数据库作为金融机构核心的数据存储和管理系统,其性能和数据要素构架的合理性直接关系到金融业务的高效运行、数据安全以及决…

为什么?MCU中需要ADC模块

“做成ADC拿去诡市,贱卖!”-----长安红茶续篇 库比蒂诺的枪声——苹果发布AI PC芯片M4,打响2024年AI大模型第一枪 芯品快报:亚德诺(ADI)超静音步进电机驱动芯片——TMC2209 为什么MCU中需要ADC模块 原创 芯愿景软件 集成电路大数据平台 在微控制器(MCU)芯片中,通…

opencv-python实战项目十三:文档倾斜校正

文章目录 一,简介二,校正流程三,算法实现3.1 提取图像中的文字区域3.2,霍夫直线获得图像倾斜角度3.3 对图像旋转theta度 四,整体代码实现五,效果: 一,简介 在日常生活中&#xff0c…

eNSP 华为远程访问路由器

华为远程访问路由器 前提&#xff1a;主机能与路由器通信就行&#xff0c;如果不同网段就配路由协议&#xff0c;这里直接模拟直连通信 Cloud&#xff1a; R&#xff1a; <Huawei>sys [Huawei]sys R [R]int g0/0/0 [R-GigabitEthernet0/0/0] [R-GigabitEthernet0/0/0]…

速锐得远程解码新能源商用车核心BMS电池管理系统CAN数据及应用

新能源商用车在近年来的快速发展中&#xff0c;对其电机的转速&#xff0c;扭矩、电压、电流、相关温度、电池的SOC&#xff08;State of Charge&#xff0c;即电池荷电状态&#xff09;及车速数据的应用领域不断拓展。这些数据不仅对车辆的性能优化、能源管理、安全监控等方面…