فهرست منبع

更新必须使用强密码

Administrator 2 سال پیش
والد
کامیت
f29abd6dcb

+ 5 - 0
boman-auth/src/main/java/com/boman/auth/controller/TokenController.java

@@ -19,6 +19,8 @@ import com.boman.system.api.model.LoginUser;
 
 import java.util.Map;
 
+import static com.boman.common.core.utils.SecurityUtils.checkStrongPwd;
+
 /**
  * token 控制
  *
@@ -51,6 +53,9 @@ public class TokenController {
                 throw new BaseException("未获取到微信鉴权相关信息!");
             }
             openId = (String) jsonObject.get("openId");
+        }
+         if ("1".equals(checkStrongPwd(form.getPassword()))) {
+            return R.fail("密码必须包含数字、大小写字母、特殊符号且大于8位");
         }
         // 用户登录
         LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword());

+ 28 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysUserController.java

@@ -247,6 +247,34 @@ public class SysUserController extends BaseController {
         return toAjax(userService.resetPwd(user));
     }
 
+    @PutMapping("/resetPwdLogin")
+    public AjaxResult resetPwdLogin(@RequestParam("userName") String userName,@RequestParam("oldPassword") String oldPassword,@RequestParam("newPassword") String newPassword) {
+        //userService.checkUserAllowed(user);
+        if ("admin".equals(userName)){
+            return AjaxResult.success("不允许操作超级管理员");
+        }
+        SysUser user = userService.selectUserByUserName(userName);
+        if (user == null){
+            return AjaxResult.success("当前用户不存在");
+        }
+        String password = user.getPassword();
+        if (!SecurityUtils.matchesPassword(oldPassword, password))
+        {
+            return AjaxResult.success("修改密码失败,旧密码错误");
+        }
+        if (SecurityUtils.matchesPassword(newPassword, password))
+        {
+            return AjaxResult.success("新密码不能与旧密码相同");
+        }
+
+        if ("1".equals(checkStrongPwd(newPassword))) {
+            return AjaxResult.success("密码必须包含数字、大小写字母、特殊符号且大于8位");
+        }
+        user.setPassword(SecurityUtils.encryptPassword(newPassword));
+        user.setUpdateBy(userName);
+        return toAjax(userService.resetPwdLogin(user));
+    }
+
     /**
      * 状态修改
      */

+ 2 - 0
boman-modules/boman-system/src/main/java/com/boman/system/mapper/SysUserMapper.java

@@ -56,6 +56,8 @@ public interface SysUserMapper
      */
     public int updateUser(SysUser user);
 
+    public int updateUserByUserName(SysUser user);
+
     /**
      * 修改用户头像
      * 

+ 8 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/ISysUserService.java

@@ -143,6 +143,14 @@ public interface ISysUserService
      */
     public int resetPwd(SysUser user);
 
+    /**
+     * 登录页重置用户密码
+     *
+     * @param user 用户信息
+     * @return 结果
+     */
+    public int resetPwdLogin(SysUser user);
+
     /**
      * 重置用户密码
      * 

+ 5 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysUserServiceImpl.java

@@ -323,6 +323,11 @@ public class SysUserServiceImpl implements ISysUserService
         return userMapper.updateUser(user);
     }
 
+    @Override
+    public int resetPwdLogin(SysUser user) {
+        return userMapper.updateUserByUserName(user);
+    }
+
     /**
      * 重置用户密码
      * 

+ 9 - 0
boman-modules/boman-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -168,6 +168,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		</set>
  		where id = #{id}
 	</update>
+
+	<update id="updateUserByUserName" parameterType="com.boman.domain.SysUser">
+		update sys_user
+		<set>
+			<if test="password != null and password != ''">password = #{password},</if>
+			update_time = sysdate()
+		</set>
+		where user_name = #{userName}
+	</update>
 	
 	<update id="updateUserStatus" parameterType="com.boman.domain.SysUser">
  		update sys_user set status = #{status} where id = #{id}

+ 0 - 1
boman-web-core/src/main/java/com/boman/web/core/service/bomanMessageReceive/BomanMessageReceiveServiceImpl.java

@@ -9,7 +9,6 @@ import com.boman.domain.dto.UpdateDto;
 import com.boman.web.core.mapper.MessageMapper;
 import com.boman.web.core.service.common.ICommonService;
 import com.boman.web.core.service.select.IBaseSelectService;
-import com.sun.org.apache.regexp.internal.RE;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;