今天非得把这个破登录问题掰扯明白不可。早上吭哧吭哧爬起来写代码,调试到一半想登录后台查个数据,结果刚输完密码就给我弹个红框框:"预期之外的错误"。我当时就懵了,这破提示跟没说有啥区别?
第一反应:重启大法
跟你们一样,我咔咔就把浏览器全关了重开。结果手抖把没保存的文档也关了,气得我直拍大腿。重新打开登录页面,账号密码怼进去——啪!那个该死的红框框又弹出来了,完犊子。
扒拉开发者工具
撸起袖子按F12,点到Network那个页签瞅着。再试着重输密码点登录,好家伙!看到状态码飘着个刺眼的500。点开Response详情一看,里面藏着行小字:"Token校验服务不可用",这破提示比登录页的还像谜语。
摸到服务器查日志
骂骂咧咧连上服务器,蹲在终端前面敲命令翻日志文件。盯着屏幕翻了五分钟,眼都快瞅瞎了才揪到关键报错:
- 11:05:32 ERROR [AuthService] 连不上隔壁的Redis
- 11:05:33 FATAL [TokenValidator] 验证密钥捞不到!
当时我就拍桌了:"靠!昨天运维小哥说升级缓存集群,准是这孙子把配置改崩了!"
坑爹的配置文件
冲到配置文件跟前打开,一行行往下扫。突然看到Redis连接字符串里明晃晃挂着旧IP,新集群地址压根没填进去。运维给的迁移文档用绿色加粗写着:"必须替换connection_string字段",这哥们儿怕是拿眼皮看的文档。
骂归骂,还是老老实实把新地址粘进去保存。不死心又瞅了眼旁边JWT密钥的配置项——好嘛密钥库路径写的是半年前的旧目录,密钥早八百年前就迁移走了!
改完还是翻车
哼哧哼哧改完配置重启服务,搓着手点登录按钮。页面转了两圈居然显示成功!刚想咧嘴笑,跳转到首页时又弹出个新错误:"权限加载异常"。气得我差点把键盘砸了,这破系统咋还带连环套的?
重新翻日志才看见新报错:"用户角色数据缺失"。突然想起来上礼拜把权限表结构改了,得手动跑数据迁移脚本。咬着后槽牙敲命令执行脚本,等进度条跑完再试登录——这回首页总算乖乖刷出来了!
吐槽
磨蹭了半个小时才搞明白,这破问题就是两个部门打架:运维升级忘改配置,我改库表没补脚本。跟隔壁部门老哥对喷半小时,骂骂咧咧去改文档——在迁移指南第一行加了个表情包:"不改配置就登录?头给你打歪"
(补个后续:晚上陪老妈去医院复诊,挂号系统也弹出个"预期之外的错误"。老太太当场就急了:"你们程序员就这水平?咋走哪都错误错误!" 我缩在角落不敢吱声...)
