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

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.