Browse Source

新增密码格式校验

ops-management-platform-backend-dev
gjh 2 weeks ago
parent
commit
21f9949523
  1. 1
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/ExcelController.java
  2. 4
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/listener/WorkOrderInfoListener.java
  3. 9
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java

1
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/ExcelController.java

@ -116,7 +116,6 @@ public class ExcelController {
public R<List<String>> uploadWorkOrderInfo(MultipartFile file, HttpServletResponse response) throws IOException {
long t1 = System.currentTimeMillis();
// TODO 文件校验
WorkOrderInfoListener listener = new WorkOrderInfoListener(workOrderInfoService, contractInfoService);
try {

4
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/listener/WorkOrderInfoListener.java

@ -76,13 +76,13 @@ public class WorkOrderInfoListener implements ReadListener<WorkOrderInfoVo> {
return;
}
// 不允许重复点位上报
/* if (faultLocationList.contains(info.getFaultLocation())) {
if (faultLocationList.contains(info.getFaultLocation())) {
int rowNum = analysisContext.readRowHolder().getRowIndex();
String errorMsg = String.format("第 %d 行数据导入失败:该点位正在维修 故障地点: %s",
rowNum, workOrderInfoVo.getFaultLocation());
errorMessages.add(errorMsg);
return;
}*/
}
String unit = contractInfoService.getIoCompany(contractName);
if (unit != null) {

9
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java

@ -92,6 +92,10 @@ public class SysProfileController extends BaseController {
public R<Void> updatePwd(@Validated @RequestBody SysUserPasswordBo bo) {
SysUserVo user = userService.selectUserById(LoginHelper.getUserId());
String password = user.getPassword();
String newPassword = bo.getNewPassword();
if (newPassword != null) {
newPassword = newPassword.trim();
}
if (!BCrypt.checkpw(bo.getOldPassword(), password)) {
return R.fail("修改密码失败,旧密码错误");
}
@ -99,6 +103,11 @@ public class SysProfileController extends BaseController {
return R.fail("新密码不能与旧密码相同");
}
// 最小长度要求(5~20个字符)、大小写字母+数字+特殊字符组合
String regex = "^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[~!@#$%^&*()_+`={}:;'<>?,./-])[a-zA-Z\\d~!@#$%^&*()_+`={}:;'<>?,./-]{5,20}$";
if (newPassword == null || !newPassword.matches(regex)) {
return R.fail("新密码格式不正确,请输入5~20个字符,大小写字母+数字+特殊字符组合");
}
if (userService.resetUserPwd(user.getUserId(), BCrypt.hashpw(bo.getNewPassword())) > 0) {
return R.ok();
}

Loading…
Cancel
Save