单点登录问题【拼多多0905一面】

说一些今晚情况,7点腾讯音乐笔试,因为8点拼多多一面,哪个都拒不了。硬着头皮50分钟写了1.2题然后去面试。刚开始状态真的很差,大脑思考不动,面试中2个手撕,做出来一个,两个项目问题,没有八股。

=========正题:

用户登录模块链接
单点登录中,如何保证用户在不同设备上登录时,能够知道在另一个设备已经登录了。下面是我的代码:在这里插入图片描述
原始逻辑:这里我通过用户登录id查询数据库数据,查到后随机生成一个uuid,将uuid和user使用hashmap存入Redis,下次判断就通过cookie得到uuid,再通过uuid得到user密码。

这里面试官提出一个问题:随机生成的uuid如何保证其它设备获取的是一样的呢?因为我没有考虑这个问题,实际代码并没有这个逻辑。

这里我思考后给出的解决办法:在用户第一次登录成功后,还要把(用户id:uuid)作为hashmap存入Redis,用户在其它设备登录后,会先判断Redis中有没有uuid,然后根据uuid获取用户密码,同时此次会使用新生成的uuid作为key,将上次的uuid替换掉(当然不替换增加uuid也可以,然后定时删除。

希望大家给出不同的解法。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

notepad++将换行替换成空

将多行里的换行置为一行,例如将下面的6行置为3行 crrlH打开替换框, 替换目标为【,\r\n】,替换成空,勾选循环查找和 正则表达式,全部替换即可。 替换后的效果

【Git】本地仓库操作

Part1 基础概念 git作用:管理代码版本,记录,切换,合并代码 git仓库:记录文件状态内容和历史记录的地方(.git文件夹) git的三个区域:1)工作区:实际开发时的文…

IP 协议详解

一、认识 IP 地址与网络层的职责 网络层是OSI七层模型中的第三层,也是TCP/IP四层模型中的网络接入层。在这一层,数据包被封装并加上IP层的头部信息,以便在网络之间传输。网络层的主要功能包括路由选择、分段与重组、拥塞控制以及IP地址管理等…

视频技术未来展望:EasyCVR如何引领汇聚融合平台新趋势

随着科技的飞速发展,视频技术已成为现代社会不可或缺的一部分,广泛应用于安防监控、娱乐传播、在线教育、电商直播等多个领域。本文将探讨视频技术的未来发展趋势,并深入分析TSINGSEE青犀EasyCVR视频汇聚融合平台的技术优势,展现其…

ArcGIS展线/投线教程

1 制作CSV文件 必要字段:起始经度,起始纬度,终止经度,终止纬度4列,其他列可以选填。 2 加载表格数据 点击号在当前地图加载表格。 3 使用工具箱 找到工具箱 - 数据管理工具 - 要素 - XY转线。 填空即可。当然&…

16 C语言连接

使用c语言连接mysql,需要使用mysql官网提供的库,可以在官网下载 准备工作: 保证mysql服务有效 官网下载合适的mysql connect库 也可以直接安装mysql服务 yum install -y mysql-devel Connector/C使用 库格式如下: [hbMiWiFi-R1…

监控平台之nodejs模拟后端接口

github:可以下载进行实验 https://github.com/Mr-Shi-root/sdk-platform/tree/master 1.配置node环境,安装express cors body-parser babel/cors body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。cookie-parse…

VR虚拟驾驶未来发展_vr自动驾驶汽车所带来的改变

在自动驾驶汽车的基础上,VR虚拟现实技术的应用也让自动驾驶汽车更加智能化,能够实现更高级的驾驶体验,今天这篇文章就和大家一起探讨一下 VR虚拟驾驶未来发展的趋势,以及虚拟现实自动驾驶汽车所带来的几个改变。 一、VR 虚拟驾驶未…

UnityShaderGraph 卡通水面效果

效果预览: 原理: 使用三张噪声贴图,结合UV偏移制作水面波纹混合的假象效果 噪声图1: 噪声图2: 噪声图3: 三次采样都是同样的方法,使用step函数来二分噪声 三张噪声采样结果相乘得到最终的波纹…

深度学习与大模型第1课环境搭建

文章目录 深度学习与大模型第1课环境搭建1. 安装 Anaconda2. 修改环境变量2.1 修改 .condarc 文件2.2 使用 Anaconda Prompt 修改环境变量 3. 新建 .ipynb 文件 机器学习基础编程:常见问题: 深度学习与大模型第1课 环境搭建 1. 安装 Anaconda 首先&am…

Ai Illustrator 取消吸附到像素点,鼠标拖动的时候只能到像素点

Ai Illustrator 取消吸附到像素点,鼠标拖动的时候只能到像素点 在做图的时候无意间变成吸附到像素点了,导致无法更细致的移动点。 像这样: 关闭的方法是打开上面菜单中的 【视图】取消勾选【对齐像素】 即可。 结果就是:

新160个crackme - 048-monkeycrackme1

运行分析 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8e7c9973721b4df1997cc9a83e0ef2b6.png 500x) 点击注册无反应 PE分析 Delphi程序,32位,无壳 静态分析&动态调试 使用DeDeDark进行分析,发现Register按钮事件地址入口…

容性负载箱如何测量电容器的容量、电压、泄漏电流和ESR等参数?

容性负载箱是用于测量电容器参数的重要设备。它的主要功能是通过向电容器施加不同的负载,从而测量电容器的容量、电压响应、损耗等关键参数。 具体来说,容性负载箱可以通过以下方式测量电容器的各项参数: 1. 测量电容器的容量:容…

Java项目:139 springboot基于SpringBoot的论坛系统设计与实现

项目介绍 论坛系统设置的角色有管理员,版主,用户等。 管理员管理论坛,主要是对论坛帖子增删改查以及对论坛帖子回复进行查看,对版主和用户进行管理,管理新闻等。 版主可以发布帖子,可以查询论坛帖子&…

【Ubuntu20.04】配置深度学习环境

参考 Ubuntu20.04配置深度学习环境(全网最细最全) NVIDIA显卡驱动安装安装CUDA 通过终端nvidia-smi查看自己能安装的最高CUDA版本,在官方网址下载需要的版本。安装cuDNN 在官方网址选择适配于自己安装的CUDA版本的cuDNN安装Anaconda &#x…

Elastic Stack-ES集群常用的API

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 学习B站博主教程笔记: 最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—Elastic…

JavaScript事件

DOM事件 事件概念:事件是文档或浏览器中发生的交互行为的响应。事件流:分为三个阶段: 捕获阶段:事件从根节点开始,逐级向下传播至目标节点。目标阶段:事件在目标节点上被处理。冒泡阶段:事件从…

Python作为客户端连接websocket

缘起 因为需要将MQTT中的数据推送给前端,但是前端不会直接连接MQTT,所以服务端做了一个中间层,通过websocket推送,但是在开发的过程中前端总是认为推送的数据不及时,所以这里又实用Python单独做了一个客户端做时间记录验证。开始吧 安装三方包 Python的生态很方便,这里…

java编程实现ElGamal的加密和解密题目实例

1.题目 编程实现ElGamal的加密和解密,假设用户A选择素数p11和本原根g2,并且选择私钥α5,输出A的公钥;若用户B向用户A发送消息m6,随机数k7,输出对该消息加密后的密文,以及对密文进行解密的明文。…

上海晋名室外危化品暂存柜助力新能源行业发展

近日又有一个SAVEST室外危化品暂存柜项目成功验收交付使用。 用户在日常经营活动中涉及到气瓶和硅粉的室外安全暂存问题,4月下旬在网上看到上海晋名室外暂存柜系列很感兴趣,联系到了销售部钟经理,双方对晋名的室外暂存柜进行了高效的沟通&am…