From f214709cf1d896e7c9743f206b7a708f020e5322 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 21 十月 2022 17:54:03 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java | 68 ++++++++++++++++++++++-----------
1 files changed, 45 insertions(+), 23 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
index a298013..046456f 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.map.MapUtil;
+import cn.hutool.extra.servlet.ServletUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.enums.AdminStatusStatus;
@@ -13,7 +14,6 @@
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.redis.RedisService;
import com.sandu.common.security.LoginUserInfo;
-import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.security.config.SecurityProperties;
import com.sandu.common.security.token.TokenProvider;
import com.sandu.common.util.IpUtil;
@@ -22,7 +22,6 @@
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.service.*;
-import com.sandu.ximon.admin.utils.IPUtils;
import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.MenuNode;
@@ -70,20 +69,17 @@
private PermissionConfig permissionConfig;
private final RedisService redisService;
- @Log("鍚庡彴鐢ㄦ埛鐧诲綍")
- @AnonymousAccess
- @PostMapping(value = "/login")
- public ResponseVO<Object> login(HttpServletRequest request, @RequestBody AdminLoginParam loginParam) {
+ public ResponseVO<Object> login(HttpServletRequest request, AdminLoginParam loginParam) {
Admin admin = adminService.getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getUsername, loginParam.getUsername()).last("limit 1"));
if (admin == null) {
return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
}
-// String s = RedisUtils.getBean().get(loginParam.getKey());
-// if (!loginParam.getVlue().equals(s)) {
-// log.error(loginParam.getVlue() + "楠岃瘉鐮�");
-// return ResponseUtil.error(ResponseStatusEnums.BAD_AUTHENTICATION.getCode(), ResponseStatusEnums.BAD_AUTHENTICATION.getMessage());
-// }
-// RedisUtils.getBean().delete(loginParam.getKey());
+ String s = RedisUtils.getBean().get(loginParam.getKey());
+ if (!loginParam.getVlue().equals(s)) {
+ log.error(loginParam.getVlue() + "楠岃瘉鐮�");
+ return ResponseUtil.error(ResponseStatusEnums.BAD_AUTHENTICATION.getCode(), ResponseStatusEnums.BAD_AUTHENTICATION.getMessage());
+ }
+ RedisUtils.getBean().delete(loginParam.getKey());
if (!passwordEncoder.matches(loginParam.getPassword(), admin.getPassword())) {
return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage());
}
@@ -123,15 +119,27 @@
// 杩斿洖 token 涓� 鐢ㄦ埛淇℃伅
Map<String, Object> authInfo = new HashMap<String, Object>(2) {{
put("token", properties.getTokenStartWith() + token);
- put("user", admin);
+ put("admin", admin);
+ put("client", null);
}};
- //淇濆瓨鐧诲綍淇℃伅鍒版棩蹇�
+
+
+ /**
+ * 鐧诲綍淇℃伅鏃ュ織璁板綍寮�濮�
+ */
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
Browser browser = userAgent.getBrowser();
OperatingSystem os = userAgent.getOperatingSystem();
- String content = "鐧诲綍IP鍦板潃锛�" + IPUtils.getPublicIp() + "锛屾搷浣滅郴缁燂細" + os + "锛屾祻瑙堝櫒锛�" + browser;
-
- StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄦ埛鐧诲綍", content, null);
+ String content = "鐢ㄦ埛ID锛�" + admin.getId()
+ + "锛岀敤鎴峰悕锛�" + admin.getUsername()
+ + "锛岀敤鎴风被鍨嬶細绠$悊鍛�"
+ + "锛岀櫥褰旾P鍦板潃锛�" + ServletUtil.getClientIP(request)
+ + "锛屾搷浣滅郴缁燂細" + os
+ + "锛屾祻瑙堝櫒锛�" + browser;
+ StoreOperationRecordsUtils.storeOperationLoginData(admin.getId(), admin.getUsername(), "绠$悊鍛樼櫥褰�", content);
+ /**
+ * 鐧诲綍淇℃伅鏃ュ織璁板綍缁撴潫
+ */
return ResponseUtil.success(authInfo);
}
@@ -179,6 +187,8 @@
@GetMapping(value = "/logout")
public ResponseVO<Object> LogOut() {
+ String content = "鐢ㄦ埛鍚嶏細" + SecurityUtils.getUsername();
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鐢ㄧ鐞嗗憳閫�鍑虹櫥褰�", content);
String key = String.format("%d_%d", SecurityUtils.getUserDetails().getUserId(), SecurityUtils.getUserDetails().getAdministratorType());
redisService.set(key, null);
return ResponseUtil.success("閫�鍑虹櫥褰曟垚鍔�");
@@ -196,11 +206,14 @@
@Log("鍚庡彴鐢ㄦ埛鍒楄〃")
@GetMapping(value = "/list")
- public ResponseVO<Object> listAdmin(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
+ public ResponseVO<Object> listAdmin(BaseConditionVO baseConditionVO,
+ @RequestParam(value = "keyword", required = false) String keyword,
+ @RequestParam(value = "order", required = false) Integer order,
+ @RequestParam(value = "seq", required = false) Integer seq) {
if (!permissionConfig.check(MenuEnum.ADMIN_LIST.getCode())) {
return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
}
- return ResponseUtil.successPage(adminService.listAdmin(baseConditionVO, keyword));
+ return ResponseUtil.successPage(adminService.listAdmin(baseConditionVO, keyword, order, seq));
}
@Log("鍚庡彴鐢ㄦ埛娉ㄥ唽")
@@ -274,17 +287,16 @@
}
}
- @Log("鍚庡彴鐢ㄦ埛鍒犻櫎")
- @PostMapping("/del/{adminId}")
+ @GetMapping("/del/{adminId}")
public ResponseVO<Object> deleteAdmin(@PathVariable Long adminId) {
if (!permissionConfig.check(MenuEnum.ADMIN_DELETE.getCode())) {
return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
}
boolean result = adminService.deleteAdmin(adminId);
if (result) {
- return ResponseUtil.success("淇敼鎴愬姛");
+ return ResponseUtil.success("鍒犻櫎绠$悊鍛樻垚鍔燂紒");
} else {
- return ResponseUtil.fail("淇敼澶辫触");
+ return ResponseUtil.fail("鍒犻櫎绠$悊鍛樺け璐ワ紒");
}
}
@@ -327,4 +339,14 @@
return ResponseUtil.success(userPermissionList);
}
+
+
+ @GetMapping("/creatUserKey")
+ public ResponseVO<Object> creatUserKey(@RequestParam(required = false, value = "userId") Long userId,
+ @RequestParam(required = false, value = "requstType") Integer requstType) {
+ if (!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
+ throw new BusinessException("闈炶秴绾х鐞嗗憳鏃犳硶鎿嶄綔锛�");
+ }
+ return ResponseUtil.success(adminService.creatUserKey(userId, requstType));
+ }
}
--
Gitblit v1.9.3