wuweihao пре 3 година
родитељ
комит
d364cf4044
1 измењених фајлова са 70 додато и 3 уклоњено
  1. 70 3
      gis_admin/src/main/java/com/gis/admin/controller/LoginController.java

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

@@ -83,10 +83,12 @@ public class LoginController {
 
 
         // 解密密码
-//        String password = Base64Converter.decodePassword(param.getPassword());
+        String password = Base64Converter.decodePassword(param.getPassword());
 //        // 验证密码,解密出来是明文密码,在跟输入密码比较
-//        boolean decryptName = PasswordUtils.decrypt(entity.getPassword(), password, PasswordUtils.getStaticSalt());
-        boolean decryptName = PasswordUtils.decrypt(entity.getPassword(), param.getPassword(), PasswordUtils.getStaticSalt());
+        boolean decryptName = PasswordUtils.decrypt(entity.getPassword(), password, PasswordUtils.getStaticSalt());
+
+        // 不加密
+//        boolean decryptName = PasswordUtils.decrypt(entity.getPassword(), param.getPassword(), PasswordUtils.getStaticSalt());
         if (!decryptName) {
             log.error("密码错误");
             return Result.failure("密码错误");
@@ -137,6 +139,71 @@ public class LoginController {
         return Result.success();
     }
 
+
+    @ApiOperation("test-登录")
+    @PostMapping(value = "admin/testLogin")
+    public Result testLogin(@Valid @RequestBody LoginDto param)  {
+
+
+        // 1.获取用户
+        SysUserEntity entity = userService.findByUserName(param.getUserName());
+        if (entity == null){
+            log.error("用户不存在");
+            return Result.failure("用户不存在");
+        }
+
+        Long userId = entity.getId();
+//        Object role = getRoleKey(userId);
+//        log.info("role: {}", role);
+
+
+
+        // 解密密码
+//        String password = Base64Converter.decodePassword(param.getPassword());
+//        // 验证密码,解密出来是明文密码,在跟输入密码比较
+//        boolean decryptName = PasswordUtils.decrypt(entity.getPassword(), password, PasswordUtils.getStaticSalt());
+
+        // 不加密
+        boolean decryptName = PasswordUtils.decrypt(entity.getPassword(), param.getPassword(), PasswordUtils.getStaticSalt());
+        if (!decryptName) {
+            log.error("密码错误");
+            return Result.failure("密码错误");
+        }
+
+        // 检查账号是否启用
+        if (entity.getIsEnabled() != 1) {
+            log.error("此账号已停用: {}", entity.getUserName());
+            return Result.failure("此账号已停用");
+        }
+
+        // 创建新token
+        HashMap<String, Object> tokenMap = new HashMap<>();
+        tokenMap.put("userName", entity.getUserName());
+        tokenMap.put("id", userId);
+        if (entity.getIsAdmin() == 1) {
+            // 设置角色权限
+            tokenMap.put("role", Arrays.asList("sys_admin"));
+        }
+
+        String token = JwtUtil.createJWT(TOKEN_EXPIRE, tokenMap);
+
+
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("user", entity);
+        result.put("token", token);
+        // 角色控制系统管理(sys_admin)、内容管理
+//        result.put("role", role);
+
+//        // 保存操作日志
+        saveLog(userId);
+
+        redisUtil.set(configConstant.redisPrefix + token, token, 86400);
+
+
+        return Result.success(result);
+
+    }
+
     @ApiOperation(value = "检查登录状态", notes = "true:已登录, false:已退出")
     @GetMapping("admin/checkLogin")
     public Result checkLogin() {