首页 > 其他分享 >用户登录功能遇到的问题总结

用户登录功能遇到的问题总结

时间:2024-04-14 16:14:03浏览次数:15  
标签:总结 手机号 登录 9721 用户 验证码 session

Cookie和Session

session id

每个用户都有自己的session, 不同用户之间session是隔离的,这个由所有的session插件或者tomcat服务器自己维护

分布式环境下用户信息保存到服务器的Session下就不靠谱了,不同节点的服务器sessioin数据并不会主动同步。

使用服务器自身的session注意问题

手机验证码的登录方式,一定要保证在当前用户去session中拿自己数据(也就是验证码)的时候一定是他获取验证码的那个手机号,也就是手机号和验证码一定要对应上。否则可能注册别人的手机号

【看如下操作】:
用户输入 手机号:131xxx,获取到验证码:9721
而在登录的时候修改了手机号 也就是 用户输入了新手机号:188xxx,验证码:9721
这样会登录/注册成功。显然是个BUG!

【解决办法】
修改session中保存的key value
由原来{"code", 9721}
修改为{"{用户获取验证码的手机号}", 9721}

ThreadLocal取代每次都从session中获取登录用户?

  1. 可以在同一线程中很方便的获取用户信息,不需要频繁的传递session对象。

问题: 使用tomcat服务器么? 如果tomcat 使用的线程池,那么线程复用的问题就可能存在,同一个ThreadLocal(final的),会不会产生数据的错乱呢?

肯定会错乱的,所以要在这次请求结束时 调用remove方法清除。

JWT

标签:总结,手机号,登录,9721,用户,验证码,session
From: https://www.cnblogs.com/HoweZhan/p/18134248

相关文章

  • InfluxDB时序数据库图形用户界面可视化工具(influxdb-gui)
    说明之前开发了一款TDengine的GUI程序,出于兴趣,简单搞个InfluxDB的复制版,类似Navicat,目前基础操作功能已满足,后续看情况,可以继续扩展功能。介绍InfluxDB-GUI是一款功能全面、操作简便的influxdb时序数据库图形界面工具,V1.0.0目前支持influxdb版本列表如下:influxdb1.8.10版本......
  • 【工作总结】工作累死累活,结果越做越差怎么办?
    工作无需燃烧自己在前面的文章中,笔者已经介绍了工作中没有努力一说,而是要做到四步走:了解情况,做出决策,抓住核心,运用手段。我相信同学们仍然会觉得笔者的说法过于绝对。那我凭借着这四步走,做很多很多业绩我不就能往上爬了,不也是努力工作嘛。我还是在工作中努力不是嘛,笔者想说的......
  • 在centos7下面,安装mysql,并设置 用户名为henry
    好的,以下是在CentOS7下安装MySQL并完成你所要求的操作的详细步骤:1.**安装MySQL**:首先,使用`yum`包管理器安装MySQL:sudoyuminstallmysql-server 2.**启动MySQL服务**:安装完成后,启动MySQL服务:sudosystemctlstartmysqld 3.**设置MySQL开机自启......
  • clickhous用法总结
    clickhose的安装安装参考:https://www.cnblogs.com/cxygg/p/18129193clickhouse的文档支持中文,但是中文文档更新比英文的慢clickhouse本质上是一个数据分析工具,适合用来做数仓,它是列存数据库,擅长数据分析,不擅长数据修改,和hive类似,但是比hive快的多。所以在数据量不是特......
  • 针对于近期情况的总结与更改 tips || 3月份简略日报
    虽然马上就要期中了,时间很紧,但还是抽空写一下总结,权当状态的切换。先来简单总结一下\(3\)月份情况吧,这个月的月考看起来还像个人样(年5),那一月的\(4\)次周练,拉出来一比,会发现我在进步,从三门全挂到三门都排年级前\(50\),那一个月我经常反思,不断调整,这才是上次月考胜利的原因。......
  • Qt | 一文总结QObject
    Qt|一文总结QObject来源 https://zhuanlan.zhihu.com/p/608004472 一、QObject的重要知识QObject是Qt对象模型的核心。这个模型的核心特性是一个强大的无缝对象通信机制,即信号和槽。可以使用connect()将信号连接到槽函数,并使用disconnect()破坏已经存在的连接。为了避免永......
  • Python常用模块-20个常用模块总结
    目录time模块datetime模块random模块os模块sys模块json和pickle模块hashlib和hmac模块logging模块numpy模块pandas模块matplotlib模块re模块typing模块collections模块pathlib模块shutil模块xml模块subprocess模块configparser模块Python常用模块小结time模块......
  • 2024.4.13 模拟赛总结
    坑点总结:1.关于数据顺序模拟赛T1题面清明节,又称祭祖节,在每年4月4日至6日之间,是祭祀、祭祖和扫墓的节日。小明的爸爸妈妈决定清明假期带着他回老家扫墓。小明的爸爸一共要开车行驶1000千米才能到家,现在沿途有N个旅馆,为了安全起见,每天晚上都不开车,住在旅馆里(晚上不可以......
  • HarmonyOS NEXT应用开发案例——全屏登录页面
    全屏登录页面介绍本例介绍各种应用登录页面。全屏登录页面:在主页面点击跳转到全屏登录页后,显示全屏模态页面,全屏模态页面从下方滑出并覆盖整个屏幕,模态页面内容自定义,此处分为默认一键登录方式和其他登录方式。效果图预览使用说明点击主页面按钮"点击跳转到全屏登录页",......
  • 允许任意地址访问 MySQL 数据库 adonis 的新用户
    问题ayear@DESKTOP-GPCA3B0:~/AdonisJS$nodeace.jsmigration:run[error]Host'DESKTOP-GPCA3B0'isnotallowedtoconnecttothisMySQLserveratPacket.asError(/home/ayear/AdonisJS/node_modules/.pnpm/[email protected]/node_modules/mysql2/......