凭据正确却被拒先查登录校验哪个字段
为什么容易误判
认证失败通常只有一种对外表现(401 / 拒绝),但内部原因至少三类:
- 密码错
- 账号不存在
- 校验用的字段与用户提供的凭据不是同一个(username ≠ email)
第三类的症状和前两类完全一样,但改密码永远修不好,反复重试还可能触发账号锁定。
正确做法
- 读登录校验代码,确认
WHERE用的是哪个字段(username?email?手机号?),再确认用户给的凭据落在哪个字段。 - 一次性重置脚本要同时按 username 或 email 查找匹配账号,只改密码哈希,不新建用户、不动业务数据。
- 重试要有上限:停止重试是为了避免账号被锁定,不代表服务端坏了 —— 不要把它当成根因。
相关
- 先分清平台错误还是应用错误
- 对照两端要用同一条标识 —— 同族:先确认「用的是不是同一个标识」
- 一词多义先确认所指