需求阶段
引入用户故事,将用户故事可视化地表现出来。
此阶段最重要的是,确保产品和开发测试的认知同步,避免出现开发与产品向背驰,同时产品也要避免开发过程中/后修改需求。
设计阶段
此阶段最重要的是,确保开发测试的认知同步。开发会较注重细节,测试则较考虑整体逻辑性,在开发前就应让双方互相确认,避免开发完成提测后有重要的分支开发没考虑到导致返工。
开发阶段
1、目标
密码长时间不修改提示/强制用户修改
2、迭代安排
alter table sys_user add column update_password_time datetime not null default NOW() COMMENT '最后更新密码时间'
对系统默认密码到期时间进行配置
配置文件application-xxx.yaml中, amp.passwordExpireTime字段,默认为 180天
受影响的接口路径:
用户登录 /provider/users/guanyuntai/login
用户修改密码 /provider/users/password
重置密码 /user/resetPSW/{id}
(以下是新加逻辑)
取LocalDateTime.getNow(), 与数据库此用户的update_password_time字段做运算,获得差值checkExpirePassword,
if(checkExpirePassword 大于系统配置的amp.passwordExpireTime值,默认为180天){
返回给前端字段UserLoginRespDto.passwordExpired = 3,表示密码过期不允许登录;
前端提示相应错误信息,提示“请联系管理员修改”;
}else if(checkExpirePassword 大于等于170天小于180天){
返回给前端字段UserLoginRespDto.passwordExpired = 2,表示可以登录但是要提示信息;
并返回日期差值,作为显示的倒计时天数;
前端提示相应信息;
} else {
小于170天,返回给前端字段UserLoginRespDto.passwordExpired= 1,表示允许登录,不需要提示信息;
}
在修改密码成功后,取当前时间修改sys_user表此用户update_password_time字段;
重置密码成功后,取当前时间修改sys_user表对应用户update_password_time字段;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。