浏览代码

更新密码加密处理

wuweihao 4 年之前
父节点
当前提交
44f90bcc09

+ 2 - 3
gis_admin/src/main/java/com/gis/admin/controller/LoginController.java

@@ -151,20 +151,19 @@ public class LoginController {
         if (StringUtils.isBlank(token)) {
             log.info("token is null");
         }
-//        redisTemplate.delete(configConstant.redisPrefix + token);
         redisUtil.del(configConstant.redisPrefix + token);
         return Result.success();
     }
 
     @ApiOperation(value = "检查登录状态", notes = "true:已登录, false:已退出")
     @GetMapping("admin/checkLogin")
-    public Boolean checkLogin() {
+    public Result checkLogin() {
         String token = request.getHeader("token");
         if (StringUtils.isBlank(token)) {
             log.info("token is null");
         }
         String o = (String) redisUtil.get(configConstant.redisPrefix + token);
-        return o != null;
+        return Result.success(o != null);
     }
 
     @ApiOperation("test-登录")

+ 3 - 0
gis_admin/src/main/java/com/gis/admin/controller/SysUserController.java

@@ -58,6 +58,9 @@ public class SysUserController {
     @ApiOperation("修改密码")
     @PostMapping("updatePwd")
     public Result updatePwd(@Valid @RequestBody PasswordDto param) {
+
+
+
         return userService.updatePwd(param);
 
     }

+ 1 - 2
gis_admin/src/main/java/com/gis/admin/entity/dto/PasswordDto.java

@@ -11,8 +11,7 @@ import javax.validation.constraints.NotBlank;
 @Data
 public class PasswordDto {
 
-    @NotBlank(message = "旧密码不能为空")
-    @ApiModelProperty(value = "旧密码", name = "oldPassword", required = true)
+    @ApiModelProperty(value = "旧密码", name = "oldPassword")
     private String oldPassword;
 
     @NotBlank(message = "新密码不能为空")

+ 65 - 0
gis_admin/src/main/java/com/gis/admin/entity/dto/UserWebDto.java

@@ -0,0 +1,65 @@
+package com.gis.admin.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * Created by owen on 2020/5/28 0028 16:36
+ */
+@Data
+public class UserWebDto {
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
+    private Long id;
+
+
+//    @NotBlank(message = "真实姓名不能为空")
+    @ApiModelProperty(value = "真实姓名")
+    private String realName;
+
+
+    @NotBlank(message = "管理员账号不能为空")
+    @ApiModelProperty(value = "管理员账号", required = true)
+    private String userName;
+
+//    @NotBlank(message = "昵称不能为空")
+    @ApiModelProperty(value = "昵称")
+    private String nickName;
+
+//    @NotNull(message = "性别不能为空")
+    @ApiModelProperty(value = "性别 0:男  1:女")
+    private Integer sex;
+
+    @ApiModelProperty(value = "电话")
+    private String phone;
+
+//    @NotBlank(message = "单位不能为空")
+    @ApiModelProperty(value = "单位")
+    private String unit;
+
+    @ApiModelProperty(value = "地址")
+    private String address;
+
+//    @NotNull(message = "启用状态不能为空")
+//    @ApiModelProperty(value = "状态 1:启用  0:停用 ")
+//    private Integer status;
+
+    @ApiModelProperty(value = "高清图url")
+    private String img;
+
+    @ApiModelProperty(value = "缩略图url")
+    private String thumb;
+
+//    @ApiModelProperty(value = "状态 0:启用(默认值)  1:禁用")
+//    private Integer isDisable;
+
+    @ApiModelProperty(value = "是否启动 0: 禁用  1:启用(默认值)")
+    private Integer isEnabled;
+
+
+
+
+}

+ 21 - 11
gis_admin/src/main/java/com/gis/admin/service/impl/SysUserServiceImpl.java

@@ -12,6 +12,7 @@ import com.gis.common.base.mapper.IBaseMapper;
 import com.gis.common.base.service.LogService;
 import com.gis.common.base.service.impl.IBaseServiceImpl;
 import com.gis.common.constant.MsgCode;
+import com.gis.common.util.Base64Converter;
 import com.gis.common.util.JwtUtil;
 import com.gis.common.util.PasswordUtils;
 import com.gis.common.util.Result;
@@ -157,18 +158,27 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
 
     @Override
     public Result updatePwd(PasswordDto param) {
+        // 密码加密了,需要解密
+        String newPassword = Base64Converter.decodePassword(param.getNewPassword());
+        String oldPassword = Base64Converter.decodePassword(param.getOldPassword());
+        param.setNewPassword(newPassword);
+        param.setOldPassword(oldPassword);
         SysUserEntity user = this.findByUserName(JwtUtil.getUsername(getToken()));
-        updatePwd(param, user);
+        updatePwd(param, user, true);
 
         return Result.success();
     }
 
-    private void updatePwd(PasswordDto param, SysUserEntity user){
-        // 验证原密码
-        Boolean isBoolean = PasswordUtils.decrypt(user.getPassword(), param.getOldPassword(), PasswordUtils.getStaticSalt());
-        if (!isBoolean) {
-            log.error("原始密码错误");
-            throw new BaseRuntimeException("原始密码错误");
+    private void updatePwd(PasswordDto param, SysUserEntity user, boolean flag){
+
+        if (flag){
+            // 验证原密码
+            Boolean isBoolean = PasswordUtils.decrypt(user.getPassword(), param.getOldPassword(), PasswordUtils.getStaticSalt());
+            if (!isBoolean) {
+                log.error("原始密码错误");
+                throw new BaseRuntimeException("原始密码错误");
+            }
+
         }
 
         user.setPassword(PasswordUtils.encrypt(user.getUserName(), param.getNewPassword(), PasswordUtils.getStaticSalt()));
@@ -270,11 +280,11 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
         String userName = param.getUserName();
         SysUserEntity entity = entityMapper.findByUserName(param.getUserName());
         if (entity == null) {
-            return Result.success();
+            return Result.success(false);
         }
 
         if (!param.getRealName().equals(entity.getRealName())) {
-            return Result.success();
+            return Result.success(false);
         }
 
         String redisKey = RESET_PASSWORD_KEY + userName;
@@ -282,7 +292,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
 
         // code 有效期5分钟
         redisUtil.set(redisKey, code , 300);
-        return Result.success(code);
+        return Result.success((Object) code);
     }
 
     @Override
@@ -299,7 +309,7 @@ public class SysUserServiceImpl extends IBaseServiceImpl<SysUserEntity, Long> im
             return Result.failure(MsgCode.e3005, "验证码失效");
         }
 
-        updatePwd(param, entity);
+        updatePwd(param, entity, false);
 
         return Result.success();
     }

+ 7 - 0
gis_cms/src/main/java/com/gis/cms/controller/WebController.java

@@ -12,6 +12,7 @@ import com.gis.common.base.aop.WebControllerLog;
 import com.gis.common.base.entity.dto.PageDateDto;
 import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.base.service.LogService;
+import com.gis.common.util.Base64Converter;
 import com.gis.common.util.Result;
 import com.gis.cms.entity.dto.TypePageDateDto;
 import com.gis.admin.service.*;
@@ -218,6 +219,12 @@ public class WebController {
     @ApiOperation("门户网站-修改密码")
     @PostMapping("updatePwd")
     public Result updatePwd(@Valid @RequestBody PasswordDto param) {
+        // 密码加密了,需要解密
+        String newPassword = Base64Converter.decodePassword(param.getNewPassword());
+//        String oldPassword = Base64Converter.decodePassword(param.getOldPassword());
+        param.setNewPassword(newPassword);
+//        param.setOldPassword(oldPassword);
+
         return sysUserService.updatePwdByWeb(param);
 
     }

+ 7 - 3
gis_cms/src/main/java/com/gis/cms/controller/WebManageController.java

@@ -1,6 +1,7 @@
 package com.gis.cms.controller;
 
 import com.gis.admin.entity.dto.UserDto;
+import com.gis.admin.entity.dto.UserWebDto;
 import com.gis.admin.entity.po.SysUserEntity;
 import com.gis.admin.service.SysUserService;
 import com.gis.cms.entity.dto.CountAnswerDto;
@@ -21,6 +22,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -35,7 +37,7 @@ import java.util.Map;
 @Slf4j
 @Api(tags = "门户网站(需要token)")
 @RestController
-@RequestMapping("cms/web")
+@RequestMapping("cms/web/manage")
 public class WebManageController {
 
     @Autowired
@@ -149,8 +151,10 @@ public class WebManageController {
     @WebControllerLog(description = "用户管理-修改用户", addDb = true)
     @ApiOperation("新增/修改用户信息")
     @PostMapping("save")
-    public Result save(@Valid @RequestBody UserDto param) {
-        return sysUserService.saveEntity(param);
+    public Result save(@Valid @RequestBody UserWebDto param) {
+        UserDto userDto = new UserDto();
+        BeanUtils.copyProperties(param, userDto);
+        return sysUserService.saveEntity(userDto);
     }