一聚教程网:一个值得你收藏的教程网站

热门教程

智慧社区管理系统平台如何修改密码

时间:2026-08-22 14:09:49 编辑:袖梨 来源:一聚教程网

必须通过平台“修改密码”功能更新密码,依赖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 Mapparams 获取参数;

第三步:从 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":"修改成功"}。

热门栏目