发布于2026-08-22 阅读(0)
扫一扫,手机访问
必须通过平台“修改密码”功能更新密码,依赖JWT token校验与Redis用户状态一致性,跳过校验将返回401错误;操作需先入个人中心→账号安全→填写原密与符合要求的新密或信息验证码重置,后端经五步校验更新。

在智慧社区管理系统中,用户登录后需要修改初始密码或定期更新账户安全凭证,必须通过平台内置的“修改密码”功能完成,该操作依赖后端 JWT token 校验与 Redis 缓存中的用户状态一致性,跳过校验将导致 401 错误。
登录成功后,点击右上角头像→选择【个人中心】→在左侧菜单栏找到并点击“账号安全”或“修改密码”选项(部分版本显示为“密码管理”)。
若页面无此菜单,说明当前登录账号权限不足——【只有普通居民、物业人员、系统管理员等具备 user_role 字段且 status=1 的有效账户才能访问该页面】。
方法一:表单直填方式
在“原密码”框中输入当前正在使用的登录密码;在“新密码”和“确认新密码”两个输入框中,**必须完全一致地输入不少于8位、含大小写字母+数字组合的新密码**;点击【提交】按钮。
方法二:通过信息验证码重置(仅限已绑定手机号的用户)
点击“忘记密码?”链接→输入注册手机号→点击“获取验证码”→查收信息并填入6位数字→设置新密码→提交。该流程绕过原密码验证,但需确保 Redis 中对应手机号的 verify_code_key 未过期(默认5分钟)。
第一步:前端携带 token 发起 PUT 请求至 /sys/user/updatePassword 接口;
第二步:后端 Controller 层使用 @PutMapping 注解接收请求,并通过 @RequestBody Map
第三步:从 HttpServletRequest 请求头中提取 token → 调用 JWT 工具类解析出 userId → 根据 userId 查询数据库中该用户 record 是否存在且 status=1;
第四步:比对 params.get("oldPassword") 与数据库中 password 字段(BCrypt 加密存储)是否匹配;不匹配则直接返回 code=400;
第五步:校验通过后,对新密码执行BCrypt.encode(newPassword)操作,接着更新user表password字段,同时清除Redis中以"user_token:" + userId为key的旧token缓存,最后返回{"code":200,"msg":"修改成功"}。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9