Commit 79f9f7b93d31e40f0cbe6f0f7bd1790b0120e3e7
1 parent
0d6df43c
优化登陆日志,增加 userId、userType,更多的 loginType
Showing
11 changed files
with
94 additions
and
149 deletions
sql/ruoyi-vue-pro.sql
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | Target Server Version : 80026 |
| 12 | 12 | File Encoding : 65001 |
| 13 | 13 | |
| 14 | - Date: 03/10/2021 00:35:02 | |
| 14 | + Date: 06/10/2021 01:02:54 | |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | 17 | SET NAMES utf8mb4; |
| ... | ... | @@ -43,7 +43,7 @@ CREATE TABLE `inf_api_access_log` ( |
| 43 | 43 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 44 | 44 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 45 | 45 | PRIMARY KEY (`id`) USING BTREE |
| 46 | -) ENGINE=InnoDB AUTO_INCREMENT=963 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='API 访问日志表'; | |
| 46 | +) ENGINE=InnoDB AUTO_INCREMENT=1302 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='API 访问日志表'; | |
| 47 | 47 | |
| 48 | 48 | -- ---------------------------- |
| 49 | 49 | -- Records of inf_api_access_log |
| ... | ... | @@ -84,7 +84,7 @@ CREATE TABLE `inf_api_error_log` ( |
| 84 | 84 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 85 | 85 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 86 | 86 | PRIMARY KEY (`id`) USING BTREE |
| 87 | -) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统异常日志'; | |
| 87 | +) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统异常日志'; | |
| 88 | 88 | |
| 89 | 89 | -- ---------------------------- |
| 90 | 90 | -- Records of inf_api_error_log |
| ... | ... | @@ -201,7 +201,7 @@ CREATE TABLE `inf_job_log` ( |
| 201 | 201 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 202 | 202 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 203 | 203 | PRIMARY KEY (`id`) USING BTREE |
| 204 | -) ENGINE=InnoDB AUTO_INCREMENT=1644 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务日志表'; | |
| 204 | +) ENGINE=InnoDB AUTO_INCREMENT=1969 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务日志表'; | |
| 205 | 205 | |
| 206 | 206 | -- ---------------------------- |
| 207 | 207 | -- Records of inf_job_log |
| ... | ... | @@ -264,7 +264,7 @@ CREATE TABLE `sys_dict_data` ( |
| 264 | 264 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 265 | 265 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 266 | 266 | PRIMARY KEY (`id`) USING BTREE |
| 267 | -) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='å—典数æ®è¡¨'; | |
| 267 | +) ENGINE=InnoDB AUTO_INCREMENT=86 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='å—典数æ®è¡¨'; | |
| 268 | 268 | |
| 269 | 269 | -- ---------------------------- |
| 270 | 270 | -- Records of sys_dict_data |
| ... | ... | @@ -339,6 +339,12 @@ INSERT INTO `sys_dict_data` VALUES (76, 2, '接收失败', '20', 'sys_sms_receiv |
| 339 | 339 | INSERT INTO `sys_dict_data` VALUES (77, 0, '调试(钉钉)', 'DEBUG_DING_TALK', 'sys_sms_channel_code', 0, NULL, '1', '2021-04-13 00:20:37', '1', '2021-04-13 00:20:37', b'0'); |
| 340 | 340 | INSERT INTO `sys_dict_data` VALUES (78, 1, '自动生æˆ', '1', 'sys_error_code_type', 0, NULL, '1', '2021-04-21 00:06:48', '1', '2021-04-13 22:06:44', b'0'); |
| 341 | 341 | INSERT INTO `sys_dict_data` VALUES (79, 2, '手动编辑', '2', 'sys_error_code_type', 0, NULL, '1', '2021-04-21 00:07:14', '1', '2021-04-13 22:06:49', b'0'); |
| 342 | +INSERT INTO `sys_dict_data` VALUES (80, 100, 'è´¦å·ç™»å½•', '100', 'sys_login_type', 0, 'è´¦å·ç™»å½•', '1', '2021-10-06 00:52:02', '1', '2021-10-06 00:52:43', b'0'); | |
| 343 | +INSERT INTO `sys_dict_data` VALUES (81, 101, '社交登录', '101', 'sys_login_type', 0, '社交登录', '1', '2021-10-06 00:52:17', '1', '2021-10-06 00:52:17', b'0'); | |
| 344 | +INSERT INTO `sys_dict_data` VALUES (82, 102, 'Mock 登录', '102', 'sys_login_type', 0, 'Mock 登录', '1', '2021-10-06 00:52:32', '1', '2021-10-06 00:52:39', b'0'); | |
| 345 | +INSERT INTO `sys_dict_data` VALUES (83, 200, '主动登出', '200', 'sys_login_type', 0, '主动登出', '1', '2021-10-06 00:52:58', '1', '2021-10-06 00:52:58', b'0'); | |
| 346 | +INSERT INTO `sys_dict_data` VALUES (84, 201, '超时登出', '201', 'sys_login_type', 0, '超时登出', '1', '2021-10-06 00:53:17', '1', '2021-10-06 00:53:17', b'0'); | |
| 347 | +INSERT INTO `sys_dict_data` VALUES (85, 202, '强制登出', '202', 'sys_login_type', 0, '强制退出', '1', '2021-10-06 00:53:41', '1', '2021-10-06 00:53:41', b'0'); | |
| 342 | 348 | COMMIT; |
| 343 | 349 | |
| 344 | 350 | -- ---------------------------- |
| ... | ... | @@ -358,7 +364,7 @@ CREATE TABLE `sys_dict_type` ( |
| 358 | 364 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 359 | 365 | PRIMARY KEY (`id`) USING BTREE, |
| 360 | 366 | UNIQUE KEY `dict_type` (`type`) |
| 361 | -) ENGINE=InnoDB AUTO_INCREMENT=116 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='å—典类型表'; | |
| 367 | +) ENGINE=InnoDB AUTO_INCREMENT=117 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='å—典类型表'; | |
| 362 | 368 | |
| 363 | 369 | -- ---------------------------- |
| 364 | 370 | -- Records of sys_dict_type |
| ... | ... | @@ -386,6 +392,7 @@ INSERT INTO `sys_dict_type` VALUES (112, 'çŸä¿¡æ¨¡æ¿çš„类型', 'sys_sms_templ |
| 386 | 392 | INSERT INTO `sys_dict_type` VALUES (113, 'çŸä¿¡å‘é€çжæ€', 'sys_sms_send_status', 0, NULL, '1', '2021-04-11 20:18:03', '1', '2021-04-11 09:30:02', b'0'); |
| 387 | 393 | INSERT INTO `sys_dict_type` VALUES (114, 'çŸä¿¡æŽ¥æ”¶çжæ€', 'sys_sms_receive_status', 0, NULL, '1', '2021-04-11 20:27:14', '1', '2021-04-11 20:27:14', b'0'); |
| 388 | 394 | INSERT INTO `sys_dict_type` VALUES (115, '错误ç 的类型', 'sys_error_code_type', 0, NULL, '1', '2021-04-21 00:06:30', '1', '2021-04-13 22:07:12', b'0'); |
| 395 | +INSERT INTO `sys_dict_type` VALUES (116, '登陆日志的类型', 'sys_login_type', 0, '登陆日志的类型', '1', '2021-10-06 00:50:46', '1', '2021-10-06 00:50:46', b'0'); | |
| 389 | 396 | COMMIT; |
| 390 | 397 | |
| 391 | 398 | -- ---------------------------- |
| ... | ... | @@ -405,7 +412,7 @@ CREATE TABLE `sys_error_code` ( |
| 405 | 412 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 406 | 413 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 407 | 414 | PRIMARY KEY (`id`) USING BTREE |
| 408 | -) ENGINE=InnoDB AUTO_INCREMENT=4018 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='错误ç 表'; | |
| 415 | +) ENGINE=InnoDB AUTO_INCREMENT=4019 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='错误ç 表'; | |
| 409 | 416 | |
| 410 | 417 | -- ---------------------------- |
| 411 | 418 | -- Records of sys_error_code |
| ... | ... | @@ -490,6 +497,7 @@ INSERT INTO `sys_error_code` VALUES (4014, 1, 'dashboard', 1002013000, '错误ç |
| 490 | 497 | INSERT INTO `sys_error_code` VALUES (4015, 1, 'dashboard', 1002013001, 'å·²ç»å˜åœ¨ç¼–ç 为ã€{}】的错误ç ', '', NULL, '2021-04-22 00:04:06', NULL, '2021-04-22 00:04:06', b'0'); |
| 491 | 498 | INSERT INTO `sys_error_code` VALUES (4016, 1, 'yudao-admin-server', 1002000005, '未绑定账å·ï¼Œéœ€è¦è¿›è¡Œç»‘定', '', NULL, '2021-10-02 22:14:57', NULL, '2021-10-02 22:14:57', b'0'); |
| 492 | 499 | INSERT INTO `sys_error_code` VALUES (4017, 1, 'yudao-admin-server', 1002000006, '三方授æƒå¤±è´¥ï¼ŒåŽŸå› æ˜¯ï¼š{}', '', NULL, '2021-10-02 22:14:57', NULL, '2021-10-02 22:14:57', b'0'); |
| 500 | +INSERT INTO `sys_error_code` VALUES (4018, 1, 'yudao-admin-server', 1002014000, '社交授æƒå¤±è´¥ï¼ŒåŽŸå› æ˜¯ï¼š{}', '', NULL, '2021-10-05 23:23:10', NULL, '2021-10-05 23:23:10', b'0'); | |
| 493 | 501 | COMMIT; |
| 494 | 502 | |
| 495 | 503 | -- ---------------------------- |
| ... | ... | @@ -500,6 +508,8 @@ CREATE TABLE `sys_login_log` ( |
| 500 | 508 | `id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID', |
| 501 | 509 | `log_type` bigint NOT NULL COMMENT '日志类型', |
| 502 | 510 | `trace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '链路追踪编å·', |
| 511 | + `user_id` bigint NOT NULL DEFAULT '0' COMMENT '用户编å·', | |
| 512 | + `user_type` tinyint NOT NULL DEFAULT '0' COMMENT '用户类型', | |
| 503 | 513 | `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户账å·', |
| 504 | 514 | `result` tinyint NOT NULL COMMENT '登陆结果', |
| 505 | 515 | `user_ip` varchar(50) NOT NULL COMMENT '用户 IP', |
| ... | ... | @@ -510,7 +520,7 @@ CREATE TABLE `sys_login_log` ( |
| 510 | 520 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 511 | 521 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 512 | 522 | PRIMARY KEY (`id`) USING BTREE |
| 513 | -) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统访问记录'; | |
| 523 | +) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统访问记录'; | |
| 514 | 524 | |
| 515 | 525 | -- ---------------------------- |
| 516 | 526 | -- Records of sys_login_log |
| ... | ... | @@ -736,7 +746,7 @@ CREATE TABLE `sys_operate_log` ( |
| 736 | 746 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 737 | 747 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 738 | 748 | PRIMARY KEY (`id`) USING BTREE |
| 739 | -) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='æ“作日志记录'; | |
| 749 | +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='æ“作日志记录'; | |
| 740 | 750 | |
| 741 | 751 | -- ---------------------------- |
| 742 | 752 | -- Records of sys_operate_log |
| ... | ... | @@ -1113,14 +1123,13 @@ CREATE TABLE `sys_social_user` ( |
| 1113 | 1123 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ›´æ–°æ—¶é—´', |
| 1114 | 1124 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是å¦åˆ 除', |
| 1115 | 1125 | PRIMARY KEY (`id`) USING BTREE |
| 1116 | -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='社交用户\n'; | |
| 1126 | +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='社交用户\n'; | |
| 1117 | 1127 | |
| 1118 | 1128 | -- ---------------------------- |
| 1119 | 1129 | -- Records of sys_social_user |
| 1120 | 1130 | -- ---------------------------- |
| 1121 | 1131 | BEGIN; |
| 1122 | -INSERT INTO `sys_social_user` VALUES (1, 1, 2, 20, 'IPRmJ0wvBptiPIlGEZiPewGwiEiE', NULL, 'IPRmJ0wvBptiPIlGEZiPewGwiEiE', '{\"accessToken\":null,\"expireIn\":0,\"refreshToken\":null,\"refreshTokenExpireIn\":0,\"uid\":null,\"openId\":\"0TvabQWZs9g6UedEWZKSegiEiE\",\"accessCode\":null,\"unionId\":\"IPRmJ0wvBptiPIlGEZiPewGwiEiE\",\"scope\":null,\"tokenType\":null,\"idToken\":null,\"macAlgorithm\":null,\"macKey\":null,\"code\":null,\"oauthToken\":null,\"oauthTokenSecret\":null,\"userId\":null,\"screenName\":null,\"oauthCallbackConfirmed\":null}', '王文斌(芋艿)(æ£åœ¨è¾“出)', NULL, '{\"nick\":\"王文斌(芋艿)(æ£åœ¨è¾“出)\",\"unionid\":\"IPRmJ0wvBptiPIlGEZiPewGwiEiE\",\"dingId\":\"$:LWCP_v1:$r28ct/waSBPp5Gk7a6kDXA==\",\"openid\":\"0TvabQWZs9g6UedEWZKSegiEiE\",\"main_org_auth_high_level\":false}', NULL, '2021-10-02 23:55:05', NULL, '2021-10-02 23:55:05', b'0'); | |
| 1123 | -INSERT INTO `sys_social_user` VALUES (2, 1, 2, 30, 'WangWenBin', 'vT6R7p_P7OPAgIm5CejTNJnsFoglANQbcLOY1eJ307y7-HyqlNtwy_2rudvOrmbdvjG2JV1qqhUAjXmvQTa_ZG6XPfJBArBdoy-6kagQM3qlfoEcL_B5Vs9Ek1pr-0QfvJtCzR1igSPc36DX9c1VoAJVwj3MQQqPJbMcpWziw8yCtJBpJblclWa8B_R2qo-oz6S2qtd4nm-sEk2AEfEiyA', 'WangWenBin', '{\"accessToken\":\"vT6R7p_P7OPAgIm5CejTNJnsFoglANQbcLOY1eJ307y7-HyqlNtwy_2rudvOrmbdvjG2JV1qqhUAjXmvQTa_ZG6XPfJBArBdoy-6kagQM3qlfoEcL_B5Vs9Ek1pr-0QfvJtCzR1igSPc36DX9c1VoAJVwj3MQQqPJbMcpWziw8yCtJBpJblclWa8B_R2qo-oz6S2qtd4nm-sEk2AEfEiyA\",\"expireIn\":7200,\"refreshToken\":null,\"refreshTokenExpireIn\":0,\"uid\":null,\"openId\":null,\"accessCode\":null,\"unionId\":null,\"scope\":null,\"tokenType\":null,\"idToken\":null,\"macAlgorithm\":null,\"macKey\":null,\"code\":\"03ZbxKrm0PVIm9zZekVR6jdstF-MLj-UaD7TItXB9a8\",\"oauthToken\":null,\"oauthTokenSecret\":null,\"userId\":null,\"screenName\":null,\"oauthCallbackConfirmed\":null}', '', 'http://wework.qpic.cn/bizmail/nVd9hF56dvRicUAyGjVFNVDWz8mBb3Z1E0OtCrFMQnBuX0ia09EsIImw/0', '{\"errcode\":0,\"isleader\":0,\"gender\":\"1\",\"mobile\":\"15601691399\",\"errmsg\":\"ok\",\"is_leader_in_dept\":[],\"telephone\":\"\",\"avatar\":\"http://wework.qpic.cn/bizmail/nVd9hF56dvRicUAyGjVFNVDWz8mBb3Z1E0OtCrFMQnBuX0ia09EsIImw/0\",\"hide_mobile\":0,\"userid\":\"WangWenBin\",\"thumb_avatar\":\"http://wework.qpic.cn/bizmail/nVd9hF56dvRicUAyGjVFNVDWz8mBb3Z1E0OtCrFMQnBuX0ia09EsIImw/100\",\"enable\":1,\"name\":\"王文斌\",\"extattr\":{\"attrs\":[]},\"qr_code\":\"https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=vc63b488dbf4ca7122\",\"alias\":\"\",\"position\":\"\",\"department\":[],\"email\":\"\",\"status\":1,\"order\":[]}', NULL, '2021-10-03 00:23:42', NULL, '2021-10-03 00:26:08', b'0'); | |
| 1132 | +INSERT INTO `sys_social_user` VALUES (4, 1, 2, 20, 'IPRmJ0wvBptiPIlGEZiPewGwiEiE', NULL, 'IPRmJ0wvBptiPIlGEZiPewGwiEiE', '{\"accessToken\":null,\"expireIn\":0,\"refreshToken\":null,\"refreshTokenExpireIn\":0,\"uid\":null,\"openId\":\"0TvabQWZs9g6UedEWZKSegiEiE\",\"accessCode\":null,\"unionId\":\"IPRmJ0wvBptiPIlGEZiPewGwiEiE\",\"scope\":null,\"tokenType\":null,\"idToken\":null,\"macAlgorithm\":null,\"macKey\":null,\"code\":null,\"oauthToken\":null,\"oauthTokenSecret\":null,\"userId\":null,\"screenName\":null,\"oauthCallbackConfirmed\":null}', '王文斌(芋艿)(æ£åœ¨è¾“出)', NULL, '{\"nick\":\"王文斌(芋艿)(æ£åœ¨è¾“出)\",\"unionid\":\"IPRmJ0wvBptiPIlGEZiPewGwiEiE\",\"dingId\":\"$:LWCP_v1:$r28ct/waSBPp5Gk7a6kDXA==\",\"openid\":\"0TvabQWZs9g6UedEWZKSegiEiE\",\"main_org_auth_high_level\":false}', NULL, '2021-10-06 00:43:17', NULL, '2021-10-06 00:43:34', b'0'); | |
| 1124 | 1133 | COMMIT; |
| 1125 | 1134 | |
| 1126 | 1135 | -- ---------------------------- |
| ... | ... | @@ -1215,90 +1224,6 @@ CREATE TABLE `sys_user_session` ( |
| 1215 | 1224 | -- Records of sys_user_session |
| 1216 | 1225 | -- ---------------------------- |
| 1217 | 1226 | BEGIN; |
| 1218 | -INSERT INTO `sys_user_session` VALUES ('04c6624c7bf14b1ba1a01cb976a9d876', 1, '2021-04-05 21:40:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-05 20:21:09', NULL, '2021-04-01 12:25:35', b'1'); | |
| 1219 | -INSERT INTO `sys_user_session` VALUES ('05f2bf20ddf14aea8750dd35f6ab6ec0', 1, '2021-09-28 10:24:21', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:54:21', NULL, '2021-09-29 01:11:12', b'1'); | |
| 1220 | -INSERT INTO `sys_user_session` VALUES ('0d46a41bf48149389f38c65f6d6a6019', 1, '2021-10-03 00:55:44', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-03 00:25:44', NULL, '2021-10-03 00:25:44', b'0'); | |
| 1221 | -INSERT INTO `sys_user_session` VALUES ('0e235ce5ae7342a09b372a00bd7d1b41', 1, '2021-04-05 01:43:22', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-05 00:51:03', NULL, '2021-04-01 04:18:06', b'1'); | |
| 1222 | -INSERT INTO `sys_user_session` VALUES ('0e6943f8ca9b4215a014843eb489ccc7', 1, '2021-04-05 22:53:22', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-05 21:43:59', NULL, '2021-04-01 17:25:41', b'1'); | |
| 1223 | -INSERT INTO `sys_user_session` VALUES ('12166cd28b4f448ea468d13c471dfc6e', 1, '2021-04-09 19:48:58', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-09 19:18:58', NULL, '2021-04-02 04:33:15', b'1'); | |
| 1224 | -INSERT INTO `sys_user_session` VALUES ('134d908ae33146bd9b5291471c04f604', 1, '2021-04-10 00:29:28', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-09 23:10:26', NULL, '2021-04-02 08:08:17', b'1'); | |
| 1225 | -INSERT INTO `sys_user_session` VALUES ('1407ce21e47947b9b8d93bff1b55c7d6', 1, '2021-04-07 01:09:11', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-07 00:07:43', NULL, '2021-04-01 18:10:44', b'1'); | |
| 1226 | -INSERT INTO `sys_user_session` VALUES ('1477c38290ff4cee8887ebfe593faa02', 1, '2021-04-17 23:34:57', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-17 23:04:57', NULL, '2021-04-12 21:36:29', b'1'); | |
| 1227 | -INSERT INTO `sys_user_session` VALUES ('1692c9438b0b4fcca0a9beb5567d037f', 106, '2021-09-28 10:23:20', 'zhijiantianya', '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:53:20', NULL, '2021-09-28 01:53:27', b'1'); | |
| 1228 | -INSERT INTO `sys_user_session` VALUES ('2cb9742c5b8a49a8946b549442433f30', 1, '2021-10-02 18:58:45', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 18:28:45', NULL, '2021-10-02 10:28:50', b'1'); | |
| 1229 | -INSERT INTO `sys_user_session` VALUES ('2dc53e6470e64e2a9ca32500423a66ba', 1, '2021-10-03 00:55:47', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-03 00:25:47', NULL, '2021-10-02 16:25:51', b'1'); | |
| 1230 | -INSERT INTO `sys_user_session` VALUES ('347ec49c06d74d138a95266cbb5535a0', 1, '2021-04-21 00:45:41', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-21 00:03:50', NULL, '2021-04-13 18:38:39', b'1'); | |
| 1231 | -INSERT INTO `sys_user_session` VALUES ('352fd65e03cd48c19240d26fbc5dab07', 1, '2021-04-26 01:30:30', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 01:00:30', NULL, '2021-04-25 17:04:39', b'1'); | |
| 1232 | -INSERT INTO `sys_user_session` VALUES ('36b6673599134b00aa2b25d4a2a7d9f9', 1, '2021-04-26 02:01:07', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 01:31:07', NULL, '2021-04-25 17:56:14', b'1'); | |
| 1233 | -INSERT INTO `sys_user_session` VALUES ('36c310c5a56e4858bb96877547f1c67b', 1, '2021-05-03 11:15:14', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-05-03 10:45:14', NULL, '2021-09-28 01:07:19', b'1'); | |
| 1234 | -INSERT INTO `sys_user_session` VALUES ('39fc76e86c7b469fa04b246523da536d', 1, '2021-04-26 23:04:36', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 22:34:36', NULL, '2021-04-26 13:39:54', b'1'); | |
| 1235 | -INSERT INTO `sys_user_session` VALUES ('3c75ea73e13b4857a18eb57ca2eea80f', 1, '2021-04-11 20:06:52', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 19:36:52', NULL, '2021-04-11 09:10:53', b'1'); | |
| 1236 | -INSERT INTO `sys_user_session` VALUES ('4092c5d0a1d74fca9fb69e2702ef83a2', 1, '2021-04-26 01:00:07', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:30:07', NULL, '2021-04-25 16:30:09', b'1'); | |
| 1237 | -INSERT INTO `sys_user_session` VALUES ('40d532d8900c43b791266429a7911751', 1, '2021-04-05 22:11:34', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-05 21:41:34', NULL, '2021-04-01 12:28:20', b'1'); | |
| 1238 | -INSERT INTO `sys_user_session` VALUES ('41419ad4943244caa921a43a174f8594', 1, '2021-10-03 00:53:42', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-03 00:23:42', NULL, '2021-10-02 16:24:32', b'1'); | |
| 1239 | -INSERT INTO `sys_user_session` VALUES ('43676e85d0e04980b2a67181f8d9933b', 1, '2021-04-11 10:41:09', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 09:56:31', NULL, '2021-04-02 17:32:07', b'1'); | |
| 1240 | -INSERT INTO `sys_user_session` VALUES ('505b4e7d8b0d4b40aa23bf540da81234', 1, '2021-03-14 01:25:13', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', NULL, '2021-03-14 00:31:43', NULL, '2021-03-13 07:35:26', b'1'); | |
| 1241 | -INSERT INTO `sys_user_session` VALUES ('53aacbadecbf490b998dd011f39ed6ae', 1, '2021-09-28 10:23:35', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:53:35', NULL, '2021-09-28 01:53:39', b'1'); | |
| 1242 | -INSERT INTO `sys_user_session` VALUES ('53c07f8d545349618f3633a1ffb2fc40', 1, '2021-04-26 23:18:27', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 22:48:27', NULL, '2021-04-26 14:45:51', b'1'); | |
| 1243 | -INSERT INTO `sys_user_session` VALUES ('56a92b99f7b642ccbb7508042a25cb0c', 1, '2021-04-11 21:16:33', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 20:14:54', NULL, '2021-04-11 10:08:20', b'1'); | |
| 1244 | -INSERT INTO `sys_user_session` VALUES ('5a7248bf87d14e7e9f0578b05969986c', 1, '2021-03-13 10:42:50', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', NULL, '2021-03-13 09:37:36', NULL, '2021-03-12 19:53:07', b'1'); | |
| 1245 | -INSERT INTO `sys_user_session` VALUES ('5c30d80eb72048daa1a24d3d4f01317b', 1, '2021-04-12 00:31:10', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 23:08:14', NULL, '2021-04-11 15:47:45', b'1'); | |
| 1246 | -INSERT INTO `sys_user_session` VALUES ('5dca80a5c61541479a4dbb6e004c2e28', 1, '2021-04-14 00:57:25', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-13 23:38:30', NULL, '2021-04-12 17:33:48', b'1'); | |
| 1247 | -INSERT INTO `sys_user_session` VALUES ('6108c616991b45b9b891ff46163f95b1', 1, '2021-04-26 00:52:13', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:22:13', NULL, '2021-04-25 16:22:57', b'1'); | |
| 1248 | -INSERT INTO `sys_user_session` VALUES ('611f8446edb249b78319a8967563c574', 106, '2021-09-28 10:12:39', 'zhijiantianya', '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:42:39', NULL, '2021-09-29 01:11:12', b'1'); | |
| 1249 | -INSERT INTO `sys_user_session` VALUES ('72e0d4e1398642e2a5dc7cac2fd9c3a0', 1, '2021-04-26 01:58:09', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 01:04:50', NULL, '2021-04-25 17:30:12', b'1'); | |
| 1250 | -INSERT INTO `sys_user_session` VALUES ('7324a76b029a49ee95bf54ceb4164ba9', 1, '2021-04-13 01:29:14', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-13 00:18:40', NULL, '2021-04-11 23:15:00', b'1'); | |
| 1251 | -INSERT INTO `sys_user_session` VALUES ('749619894bc441bb9773902515f81e6a', 1, '2021-04-11 00:39:51', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 00:09:51', NULL, '2021-04-02 16:50:56', b'1'); | |
| 1252 | -INSERT INTO `sys_user_session` VALUES ('750dca41b315488b8c17e1c0f8b6a519', 1, '2021-04-21 01:24:28', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-21 00:54:28', NULL, '2021-04-13 21:42:10', b'1'); | |
| 1253 | -INSERT INTO `sys_user_session` VALUES ('7768ae62ad974fd989f5159649a4be82', 1, '2021-04-11 00:53:39', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-10 23:23:27', NULL, '2021-04-02 17:04:58', b'1'); | |
| 1254 | -INSERT INTO `sys_user_session` VALUES ('79efcb8f64aa42af9f4b327fb383532f', 1, '2021-04-11 22:44:07', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 21:34:53', NULL, '2021-04-11 14:10:45', b'1'); | |
| 1255 | -INSERT INTO `sys_user_session` VALUES ('7b412bc5c1fe48d7897f10e30a75fa93', 1, '2021-05-03 02:53:53', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-05-03 02:02:56', NULL, '2021-04-29 21:28:43', b'1'); | |
| 1256 | -INSERT INTO `sys_user_session` VALUES ('7b9e55b7188d49ea968abbf3ca9457ba', 1, '2021-10-03 00:19:30', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:49:30', NULL, '2021-10-02 16:20:00', b'1'); | |
| 1257 | -INSERT INTO `sys_user_session` VALUES ('7eea227a8ef5445189f5fbec39f799c1', 1, '2021-04-26 00:46:00', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:04:01', NULL, '2021-04-25 16:16:06', b'1'); | |
| 1258 | -INSERT INTO `sys_user_session` VALUES ('7ff1aa5bba8a42f295cd438f4aacc40f', 1, '2021-04-26 00:46:15', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:16:15', NULL, '2021-04-25 16:16:28', b'1'); | |
| 1259 | -INSERT INTO `sys_user_session` VALUES ('83b227ad356f4343b01d321ad26807ce', 1, '2021-04-22 00:49:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-21 23:33:02', NULL, '2021-04-25 15:49:09', b'1'); | |
| 1260 | -INSERT INTO `sys_user_session` VALUES ('87d5b95fdad9447189a95abf8a5152df', 1, '2021-04-17 23:01:18', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-17 22:31:18', NULL, '2021-04-12 21:03:27', b'1'); | |
| 1261 | -INSERT INTO `sys_user_session` VALUES ('8b3eac5e4a104a4191c8070e03d553ea', 1, '2021-04-05 02:45:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-05 02:15:12', NULL, '2021-04-01 11:05:25', b'1'); | |
| 1262 | -INSERT INTO `sys_user_session` VALUES ('92df075e593a483c8cf114f84f04cc13', 1, '2021-10-03 00:19:27', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:49:27', NULL, '2021-10-02 16:20:00', b'1'); | |
| 1263 | -INSERT INTO `sys_user_session` VALUES ('931c0b94936542d884bff469a37d8501', 1, '2021-04-26 00:53:46', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:23:46', NULL, '2021-04-25 16:24:02', b'1'); | |
| 1264 | -INSERT INTO `sys_user_session` VALUES ('93fb9dff9e824a9096a2bbce52ec0a72', 106, '2021-09-28 10:14:01', 'zhijiantianya', '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:44:01', NULL, '2021-09-29 01:11:12', b'1'); | |
| 1265 | -INSERT INTO `sys_user_session` VALUES ('961970e9418d4d20a3f6487f2003d489', 1, '2021-05-03 01:46:56', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-05-03 01:16:56', NULL, '2021-04-29 17:51:38', b'1'); | |
| 1266 | -INSERT INTO `sys_user_session` VALUES ('9ae27346d8b7491aad1385f51e8aa196', 1, '2021-03-13 14:02:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', NULL, '2021-03-13 10:43:06', NULL, '2021-03-13 06:40:35', b'1'); | |
| 1267 | -INSERT INTO `sys_user_session` VALUES ('a2fb443b31c049008975ff8ee5499db1', 1, '2021-04-11 09:42:09', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 09:12:09', NULL, '2021-04-02 17:16:00', b'1'); | |
| 1268 | -INSERT INTO `sys_user_session` VALUES ('a4860c716dc5459a852e6eb70ee9f9ac', 106, '2021-09-28 10:12:28', 'zhijiantianya', '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:42:28', NULL, '2021-09-29 01:11:12', b'1'); | |
| 1269 | -INSERT INTO `sys_user_session` VALUES ('a71a74adf9d141e2849d2a411d558205', 1, '2021-04-17 18:24:44', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-17 17:54:44', NULL, '2021-04-12 17:54:50', b'1'); | |
| 1270 | -INSERT INTO `sys_user_session` VALUES ('ab2099c12f5c4b0288c60abe8cfff307', 1, '2021-04-18 01:41:46', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-18 01:01:35', NULL, '2021-04-13 05:14:54', b'1'); | |
| 1271 | -INSERT INTO `sys_user_session` VALUES ('ae9ee7452ee54e4b983d658188c15c4d', 1, '2021-03-14 21:32:57', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', NULL, '2021-03-14 20:25:00', NULL, '2021-03-13 15:19:10', b'1'); | |
| 1272 | -INSERT INTO `sys_user_session` VALUES ('b25659890f4645049d1fa0e2767649ae', 1, '2021-05-02 23:47:04', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-05-02 23:01:26', NULL, '2021-04-29 15:41:42', b'1'); | |
| 1273 | -INSERT INTO `sys_user_session` VALUES ('b45d7fba74c64b75b2da0b3bf88b6b84', 1, '2021-10-03 00:19:39', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:49:39', NULL, '2021-10-02 16:20:00', b'1'); | |
| 1274 | -INSERT INTO `sys_user_session` VALUES ('b727853eccea4c8589e006ffea985146', 1, '2021-04-12 01:36:00', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-12 01:06:00', NULL, '2021-04-11 19:40:07', b'1'); | |
| 1275 | -INSERT INTO `sys_user_session` VALUES ('b86f118e7a584a88af2122e08c765afa', 1, '2021-10-03 00:25:05', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:55:05', NULL, '2021-10-02 16:18:29', b'1'); | |
| 1276 | -INSERT INTO `sys_user_session` VALUES ('b97cce5f119c474fb7dcff9c46541dc5', 1, '2021-04-26 00:57:09', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:27:09', NULL, '2021-04-25 16:27:10', b'1'); | |
| 1277 | -INSERT INTO `sys_user_session` VALUES ('b9ee6fde7bf74ed49cad99abf86c94d6', 1, '2021-04-18 20:21:02', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-18 19:18:52', NULL, '2021-04-13 06:36:39', b'1'); | |
| 1278 | -INSERT INTO `sys_user_session` VALUES ('bb4ad4579bd1436c859b94228967582f', 1, '2021-04-18 20:52:38', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-18 20:22:38', NULL, '2021-04-13 07:14:58', b'1'); | |
| 1279 | -INSERT INTO `sys_user_session` VALUES ('c095616db95044c5bed66a3f84519b8b', 1, '2021-04-11 19:59:33', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 19:29:33', NULL, '2021-04-11 09:04:19', b'1'); | |
| 1280 | -INSERT INTO `sys_user_session` VALUES ('c342d0f097d144e38f4bee87b8b227b6', 1, '2021-10-03 00:19:31', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:49:31', NULL, '2021-10-02 16:20:00', b'1'); | |
| 1281 | -INSERT INTO `sys_user_session` VALUES ('c8805f37eb76432c89d6d54feb14756f', 1, '2021-04-18 21:54:56', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-18 21:00:38', NULL, '2021-04-13 17:45:30', b'1'); | |
| 1282 | -INSERT INTO `sys_user_session` VALUES ('ccec247d69f5445cabd9f2cc2c219ead', 1, '2021-04-26 00:51:56', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:21:56', NULL, '2021-04-25 16:22:10', b'1'); | |
| 1283 | -INSERT INTO `sys_user_session` VALUES ('cee634e685c746bda24d43debab7abd8', 1, '2021-04-26 00:54:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:24:12', NULL, '2021-04-25 16:24:14', b'1'); | |
| 1284 | -INSERT INTO `sys_user_session` VALUES ('ceee9f8ff5cf44a4b9576c7590e848ca', 1, '2021-10-03 00:56:08', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-03 00:26:08', NULL, '2021-10-02 16:28:53', b'1'); | |
| 1285 | -INSERT INTO `sys_user_session` VALUES ('d07fa3ca0a6b4a1aa77e7cc24b521fa5', 1, '2021-04-26 01:00:57', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:30:57', NULL, '2021-04-25 16:30:58', b'1'); | |
| 1286 | -INSERT INTO `sys_user_session` VALUES ('d0adf48f82914212b947e5ab04d9fb65', 1, '2021-03-21 19:16:28', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-03-21 18:13:37', NULL, '2021-03-15 05:53:20', b'1'); | |
| 1287 | -INSERT INTO `sys_user_session` VALUES ('d6840a71da1b4c96b83a118543ce4d56', 1, '2021-09-27 13:17:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-27 12:47:12', NULL, '2021-09-28 01:07:19', b'1'); | |
| 1288 | -INSERT INTO `sys_user_session` VALUES ('dfbce0af867547f4bb01ac6f2e583337', 1, '2021-04-11 17:06:15', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 16:36:15', NULL, '2021-04-11 08:24:03', b'1'); | |
| 1289 | -INSERT INTO `sys_user_session` VALUES ('e154d98c038c4bf187325c6c6bb72b13', 1, '2021-05-03 01:09:20', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-05-02 23:52:50', NULL, '2021-04-29 16:59:52', b'1'); | |
| 1290 | -INSERT INTO `sys_user_session` VALUES ('e3539526beea4083b92c795250d9fd51', 1, '2021-10-03 00:23:29', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:53:29', NULL, '2021-10-02 15:54:01', b'1'); | |
| 1291 | -INSERT INTO `sys_user_session` VALUES ('e3d8de99f61c46759b7c32ebf86c3a40', 1, '2021-09-29 09:57:41', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-29 09:27:41', NULL, '2021-09-29 01:27:58', b'1'); | |
| 1292 | -INSERT INTO `sys_user_session` VALUES ('e57c7628f7eb49bd930c40bf83bdbfd0', 1, '2021-09-28 10:23:52', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-09-28 09:53:52', NULL, '2021-09-28 01:54:01', b'1'); | |
| 1293 | -INSERT INTO `sys_user_session` VALUES ('e5ecf10e40a5463b8f9b5b453cb1649b', 1, '2021-04-11 17:06:22', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-11 16:36:22', NULL, '2021-04-11 08:24:03', b'1'); | |
| 1294 | -INSERT INTO `sys_user_session` VALUES ('e6d6cd3a8b894f2bb8e07e0cad234e4d', 1, '2021-10-03 00:24:13', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:54:13', NULL, '2021-10-02 15:54:21', b'1'); | |
| 1295 | -INSERT INTO `sys_user_session` VALUES ('e80c2400724042a2ab73732166cde8fc', 1, '2021-03-21 21:17:12', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-03-21 20:47:12', NULL, '2021-03-15 08:18:56', b'1'); | |
| 1296 | -INSERT INTO `sys_user_session` VALUES ('e8872f5192584440a548641b83c877ef', 1, '2021-03-21 18:36:01', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-03-21 17:51:48', NULL, '2021-03-15 03:54:20', b'1'); | |
| 1297 | -INSERT INTO `sys_user_session` VALUES ('f1ab99b09b5a475795579ff99d60ac78', 1, '2021-03-14 23:04:31', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', NULL, '2021-03-14 21:12:44', NULL, '2021-03-15 03:32:38', b'1'); | |
| 1298 | -INSERT INTO `sys_user_session` VALUES ('f2a4182f62ea4559b9946a523928fac4', 1, '2021-04-10 01:45:57', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-10 00:55:38', NULL, '2021-04-02 14:52:48', b'1'); | |
| 1299 | -INSERT INTO `sys_user_session` VALUES ('f853b50d064340a581e9a49bba9411fc', 1, '2021-03-10 01:55:41', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', NULL, '2021-03-10 01:11:53', NULL, '2021-03-12 18:37:05', b'1'); | |
| 1300 | -INSERT INTO `sys_user_session` VALUES ('fb341cc0cfdd4cc7b5058f2a3bc279bc', 1, '2021-04-26 00:46:50', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', NULL, '2021-04-26 00:16:50', NULL, '2021-04-25 16:18:36', b'1'); | |
| 1301 | -INSERT INTO `sys_user_session` VALUES ('fce675d238d94c90bd1f0580cbf3c250', 1, '2021-10-03 00:16:06', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', NULL, '2021-10-02 23:46:06', NULL, '2021-10-02 15:46:12', b'1'); | |
| 1302 | 1227 | COMMIT; |
| 1303 | 1228 | |
| 1304 | 1229 | -- ---------------------------- | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/controller/logger/vo/loginlog/SysLoginLogExcelVO.java
| ... | ... | @@ -20,6 +20,10 @@ public class SysLoginLogExcelVO { |
| 20 | 20 | @ExcelProperty("用户账号") |
| 21 | 21 | private String username; |
| 22 | 22 | |
| 23 | + @ExcelProperty(value = "日志类型", converter = DictConvert.class) | |
| 24 | + @DictFormat(SysDictTypeConstants.LOGIN_TYPE) | |
| 25 | + private Integer logType; | |
| 26 | + | |
| 23 | 27 | @ExcelProperty(value = "登陆结果", converter = DictConvert.class) |
| 24 | 28 | @DictFormat(SysDictTypeConstants.LOGIN_RESULT) |
| 25 | 29 | private Integer result; | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/controller/logger/vo/loginlog/SysLoginLogRespVO.java
| ... | ... | @@ -6,6 +6,7 @@ import lombok.Data; |
| 6 | 6 | import lombok.EqualsAndHashCode; |
| 7 | 7 | import lombok.ToString; |
| 8 | 8 | |
| 9 | +import javax.validation.constraints.NotNull; | |
| 9 | 10 | import java.util.Date; |
| 10 | 11 | |
| 11 | 12 | @ApiModel("登陆日志 Response VO") |
| ... | ... | @@ -17,6 +18,14 @@ public class SysLoginLogRespVO extends SysLoginLogBaseVO { |
| 17 | 18 | @ApiModelProperty(value = "日志编号", required = true, example = "1024") |
| 18 | 19 | private Long id; |
| 19 | 20 | |
| 21 | + @ApiModelProperty(value = "用户编号", required = true, example = "666") | |
| 22 | + @NotNull(message = "用户编号不能为空") | |
| 23 | + private Long userId; | |
| 24 | + | |
| 25 | + @ApiModelProperty(value = "用户类型", required = true, example = "2", notes = "参见 UserTypeEnum 枚举") | |
| 26 | + @NotNull(message = "用户类型不能为空") | |
| 27 | + private Integer userType; | |
| 28 | + | |
| 20 | 29 | @ApiModelProperty(value = "登陆时间", required = true) |
| 21 | 30 | private Date createTime; |
| 22 | 31 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/dal/dataobject/logger/SysLoginLogDO.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.logger; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | |
| 3 | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 5 | import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginLogTypeEnum; |
| 5 | 6 | import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginResultEnum; |
| ... | ... | @@ -36,6 +37,16 @@ public class SysLoginLogDO extends BaseDO { |
| 36 | 37 | */ |
| 37 | 38 | private String traceId; |
| 38 | 39 | /** |
| 40 | + * 用户编号 | |
| 41 | + */ | |
| 42 | + private Long userId; | |
| 43 | + /** | |
| 44 | + * 用户类型 | |
| 45 | + * | |
| 46 | + * 枚举 {@link UserTypeEnum} | |
| 47 | + */ | |
| 48 | + private Integer userType; | |
| 49 | + /** | |
| 39 | 50 | * 用户账号 |
| 40 | 51 | * |
| 41 | 52 | * 冗余,因为账号可以变更 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/enums/SysDictTypeConstants.java
| ... | ... | @@ -12,6 +12,7 @@ public interface SysDictTypeConstants { |
| 12 | 12 | |
| 13 | 13 | String USER_SEX = "sys_user_sex"; // 用户性别 |
| 14 | 14 | String OPERATE_TYPE = "sys_operate_type"; // 操作类型 |
| 15 | + String LOGIN_TYPE = "sys_login_type"; // 登陆日志的类型 | |
| 15 | 16 | String LOGIN_RESULT = "sys_login_result"; // 登陆结果 |
| 16 | 17 | String CONFIG_TYPE = "sys_config_type"; // 参数配置类型 |
| 17 | 18 | String BOOLEAN_STRING = "sys_boolean_string"; // Boolean 是否类型 |
| ... | ... | @@ -21,5 +22,4 @@ public interface SysDictTypeConstants { |
| 21 | 22 | String SMS_SEND_STATUS = "sys_sms_send_status"; // 短信发送状态 |
| 22 | 23 | String SMS_RECEIVE_STATUS = "sys_sms_receive_status"; // 短信接收状态 |
| 23 | 24 | |
| 24 | - | |
| 25 | 25 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/enums/logger/SysLoginLogTypeEnum.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/auth/impl/SysAuthServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.system.service.auth.impl; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | +import cn.iocoder.yudao.adminserver.modules.system.controller.auth.vo.auth.SysAuthLoginReqVO; | |
| 4 | 5 | import cn.iocoder.yudao.adminserver.modules.system.controller.auth.vo.auth.SysAuthSocialLogin2ReqVO; |
| 5 | 6 | import cn.iocoder.yudao.adminserver.modules.system.controller.auth.vo.auth.SysAuthSocialLoginReqVO; |
| 6 | -import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.social.SysSocialUserDO; | |
| 7 | -import cn.iocoder.yudao.adminserver.modules.system.dal.mysql.social.SysSocialUserMapper; | |
| 8 | -import cn.iocoder.yudao.adminserver.modules.system.service.social.SysSocialService; | |
| 9 | -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 10 | -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | |
| 11 | -import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 12 | -import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; | |
| 13 | -import cn.iocoder.yudao.adminserver.modules.system.controller.auth.vo.auth.SysAuthLoginReqVO; | |
| 14 | 7 | import cn.iocoder.yudao.adminserver.modules.system.controller.logger.vo.loginlog.SysLoginLogCreateReqVO; |
| 15 | 8 | import cn.iocoder.yudao.adminserver.modules.system.convert.auth.SysAuthConvert; |
| 9 | +import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.social.SysSocialUserDO; | |
| 16 | 10 | import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.user.SysUserDO; |
| 17 | 11 | import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginLogTypeEnum; |
| 18 | 12 | import cn.iocoder.yudao.adminserver.modules.system.enums.logger.SysLoginResultEnum; |
| ... | ... | @@ -21,8 +15,13 @@ import cn.iocoder.yudao.adminserver.modules.system.service.auth.SysUserSessionSe |
| 21 | 15 | import cn.iocoder.yudao.adminserver.modules.system.service.common.SysCaptchaService; |
| 22 | 16 | import cn.iocoder.yudao.adminserver.modules.system.service.logger.SysLoginLogService; |
| 23 | 17 | import cn.iocoder.yudao.adminserver.modules.system.service.permission.SysPermissionService; |
| 18 | +import cn.iocoder.yudao.adminserver.modules.system.service.social.SysSocialService; | |
| 24 | 19 | import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService; |
| 20 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 21 | +import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | |
| 22 | +import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; | |
| 25 | 23 | import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; |
| 24 | +import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 26 | 25 | import lombok.extern.slf4j.Slf4j; |
| 27 | 26 | import me.zhyd.oauth.model.AuthUser; |
| 28 | 27 | import org.springframework.context.annotation.Lazy; |
| ... | ... | @@ -41,8 +40,8 @@ import javax.annotation.Resource; |
| 41 | 40 | import java.util.List; |
| 42 | 41 | import java.util.Set; |
| 43 | 42 | |
| 44 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 45 | 43 | import static cn.iocoder.yudao.adminserver.modules.system.enums.SysErrorCodeConstants.*; |
| 44 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 46 | 45 | import static java.util.Collections.singleton; |
| 47 | 46 | |
| 48 | 47 | /** |
| ... | ... | @@ -71,9 +70,6 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 71 | 70 | @Resource |
| 72 | 71 | private SysSocialService socialService; |
| 73 | 72 | |
| 74 | - @Resource | |
| 75 | - private SysSocialUserMapper socialUserMapper; | |
| 76 | - | |
| 77 | 73 | @Override |
| 78 | 74 | public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { |
| 79 | 75 | // 获取 username 对应的 SysUserDO |
| ... | ... | @@ -92,6 +88,8 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 92 | 88 | if (user == null) { |
| 93 | 89 | throw new UsernameNotFoundException(String.valueOf(userId)); |
| 94 | 90 | } |
| 91 | + this.createLoginLog(user.getUsername(), SysLoginLogTypeEnum.LOGIN_MOCK, SysLoginResultEnum.SUCCESS); | |
| 92 | + | |
| 95 | 93 | // 创建 LoginUser 对象 |
| 96 | 94 | LoginUser loginUser = SysAuthConvert.INSTANCE.convert(user); |
| 97 | 95 | loginUser.setRoleIds(this.getUserRoleIds(loginUser.getId())); // 获取用户角色列表 |
| ... | ... | @@ -112,24 +110,26 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 112 | 110 | } |
| 113 | 111 | |
| 114 | 112 | private void verifyCaptcha(String username, String captchaUUID, String captchaCode) { |
| 113 | + final SysLoginLogTypeEnum logTypeEnum = SysLoginLogTypeEnum.LOGIN_USERNAME; | |
| 115 | 114 | String code = captchaService.getCaptchaCode(captchaUUID); |
| 116 | 115 | // 验证码不存在 |
| 117 | 116 | if (code == null) { |
| 118 | 117 | // 创建登陆失败日志(验证码不存在) |
| 119 | - this.createLoginLog(username, SysLoginResultEnum.CAPTCHA_NOT_FOUND); | |
| 120 | - throw ServiceExceptionUtil.exception(AUTH_LOGIN_CAPTCHA_NOT_FOUND); | |
| 118 | + this.createLoginLog(username, logTypeEnum, SysLoginResultEnum.CAPTCHA_NOT_FOUND); | |
| 119 | + throw exception(AUTH_LOGIN_CAPTCHA_NOT_FOUND); | |
| 121 | 120 | } |
| 122 | 121 | // 验证码不正确 |
| 123 | 122 | if (!code.equals(captchaCode)) { |
| 124 | 123 | // 创建登陆失败日志(验证码不正确) |
| 125 | - this.createLoginLog(username, SysLoginResultEnum.CAPTCHA_CODE_ERROR); | |
| 126 | - throw ServiceExceptionUtil.exception(AUTH_LOGIN_CAPTCHA_CODE_ERROR); | |
| 124 | + this.createLoginLog(username, logTypeEnum, SysLoginResultEnum.CAPTCHA_CODE_ERROR); | |
| 125 | + throw exception(AUTH_LOGIN_CAPTCHA_CODE_ERROR); | |
| 127 | 126 | } |
| 128 | 127 | // 正确,所以要删除下验证码 |
| 129 | 128 | captchaService.deleteCaptchaCode(captchaUUID); |
| 130 | 129 | } |
| 131 | 130 | |
| 132 | 131 | private LoginUser login0(String username, String password) { |
| 132 | + final SysLoginLogTypeEnum logTypeEnum = SysLoginLogTypeEnum.LOGIN_USERNAME; | |
| 133 | 133 | // 用户验证 |
| 134 | 134 | Authentication authentication; |
| 135 | 135 | try { |
| ... | ... | @@ -137,25 +137,25 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 137 | 137 | // 在其内部,会调用到 loadUserByUsername 方法,获取 User 信息 |
| 138 | 138 | authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password)); |
| 139 | 139 | } catch (BadCredentialsException badCredentialsException) { |
| 140 | - this.createLoginLog(username, SysLoginResultEnum.BAD_CREDENTIALS); | |
| 140 | + this.createLoginLog(username, logTypeEnum, SysLoginResultEnum.BAD_CREDENTIALS); | |
| 141 | 141 | throw exception(AUTH_LOGIN_BAD_CREDENTIALS); |
| 142 | 142 | } catch (DisabledException disabledException) { |
| 143 | - this.createLoginLog(username, SysLoginResultEnum.USER_DISABLED); | |
| 143 | + this.createLoginLog(username, logTypeEnum, SysLoginResultEnum.USER_DISABLED); | |
| 144 | 144 | throw exception(AUTH_LOGIN_USER_DISABLED); |
| 145 | 145 | } catch (AuthenticationException authenticationException) { |
| 146 | 146 | log.error("[login0][username({}) 发生未知异常]", username, authenticationException); |
| 147 | - this.createLoginLog(username, SysLoginResultEnum.UNKNOWN_ERROR); | |
| 147 | + this.createLoginLog(username, logTypeEnum, SysLoginResultEnum.UNKNOWN_ERROR); | |
| 148 | 148 | throw exception(AUTH_LOGIN_FAIL_UNKNOWN); |
| 149 | 149 | } |
| 150 | - // 登陆成功 | |
| 150 | + // 登陆成功的日志 | |
| 151 | 151 | Assert.notNull(authentication.getPrincipal(), "Principal 不会为空"); |
| 152 | - this.createLoginLog(username, SysLoginResultEnum.SUCCESS); | |
| 152 | + this.createLoginLog(username, logTypeEnum, SysLoginResultEnum.SUCCESS); | |
| 153 | 153 | return (LoginUser) authentication.getPrincipal(); |
| 154 | 154 | } |
| 155 | 155 | |
| 156 | - private void createLoginLog(String username, SysLoginResultEnum loginResult) { | |
| 156 | + private void createLoginLog(String username, SysLoginLogTypeEnum logTypeEnum, SysLoginResultEnum loginResult) { | |
| 157 | 157 | SysLoginLogCreateReqVO reqVO = new SysLoginLogCreateReqVO(); |
| 158 | - reqVO.setLogType(SysLoginLogTypeEnum.LOGIN_USERNAME.getType()); | |
| 158 | + reqVO.setLogType(logTypeEnum.getType()); | |
| 159 | 159 | reqVO.setTraceId(TracerUtils.getTraceId()); |
| 160 | 160 | reqVO.setUsername(username); |
| 161 | 161 | reqVO.setUserAgent(ServletUtils.getUserAgent()); |
| ... | ... | @@ -187,11 +187,14 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 187 | 187 | throw exception(AUTH_THIRD_LOGIN_NOT_BIND); |
| 188 | 188 | } |
| 189 | 189 | |
| 190 | - // 使用账号密码,进行登陆。 | |
| 190 | + // 自动登陆 | |
| 191 | 191 | SysUserDO user = userService.getUser(socialUsers.get(0).getUserId()); |
| 192 | 192 | if (user == null) { |
| 193 | 193 | throw exception(USER_NOT_EXISTS); |
| 194 | 194 | } |
| 195 | + this.createLoginLog(user.getUsername(), SysLoginLogTypeEnum.LOGIN_SOCIAL, SysLoginResultEnum.SUCCESS); | |
| 196 | + | |
| 197 | + // 创建 LoginUser 对象 | |
| 195 | 198 | LoginUser loginUser = SysAuthConvert.INSTANCE.convert(user); |
| 196 | 199 | // TODO 芋艿:需要改造下,增加各种登陆方式 |
| 197 | 200 | loginUser.setRoleIds(this.getUserRoleIds(loginUser.getId())); // 获取用户角色列表 |
| ... | ... | @@ -210,7 +213,7 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 210 | 213 | Assert.notNull(authUser, "授权用户不为空"); |
| 211 | 214 | |
| 212 | 215 | // 使用账号密码,进行登陆。 |
| 213 | - LoginUser loginUser = this.login0(reqVO.getUsername(), reqVO.getPassword()); // TODO 芋艿:需要改造下,增加各种登陆方式 | |
| 216 | + LoginUser loginUser = this.login0(reqVO.getUsername(), reqVO.getPassword()); | |
| 214 | 217 | loginUser.setRoleIds(this.getUserRoleIds(loginUser.getId())); // 获取用户角色列表 |
| 215 | 218 | |
| 216 | 219 | // 绑定社交用户(新增) | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/logger/impl/SysLoginLogServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.system.service.logger.impl; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.user.SysUserDO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService; | |
| 5 | +import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | |
| 3 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 7 | import cn.iocoder.yudao.adminserver.modules.system.controller.logger.vo.loginlog.SysLoginLogCreateReqVO; |
| 5 | 8 | import cn.iocoder.yudao.adminserver.modules.system.controller.logger.vo.loginlog.SysLoginLogExportReqVO; |
| ... | ... | @@ -21,10 +24,19 @@ public class SysLoginLogServiceImpl implements SysLoginLogService { |
| 21 | 24 | |
| 22 | 25 | @Resource |
| 23 | 26 | private SysLoginLogMapper loginLogMapper; |
| 27 | + @Resource | |
| 28 | + private SysUserService userService; | |
| 24 | 29 | |
| 25 | 30 | @Override |
| 26 | 31 | public void createLoginLog(SysLoginLogCreateReqVO reqVO) { |
| 27 | 32 | SysLoginLogDO loginLog = SysLoginLogConvert.INSTANCE.convert(reqVO); |
| 33 | + // 获得用户 | |
| 34 | + SysUserDO user = userService.getUserByUsername(reqVO.getUsername()); | |
| 35 | + if (user != null) { | |
| 36 | + loginLog.setUserId(user.getId()); | |
| 37 | + } | |
| 38 | + loginLog.setUserType(UserTypeEnum.ADMIN.getValue()); | |
| 39 | + // 插入 | |
| 28 | 40 | loginLogMapper.insert(loginLog); |
| 29 | 41 | } |
| 30 | 42 | ... | ... |
yudao-admin-ui/src/utils/dict.js
| ... | ... | @@ -15,6 +15,7 @@ export const DICT_TYPE = { |
| 15 | 15 | SYS_USER_SEX: 'sys_user_sex', |
| 16 | 16 | SYS_NOTICE_TYPE: 'sys_notice_type', |
| 17 | 17 | SYS_OPERATE_TYPE: 'sys_operate_type', |
| 18 | + SYS_LOGIN_TYPE: 'sys_login_type', | |
| 18 | 19 | SYS_LOGIN_RESULT: 'sys_login_result', |
| 19 | 20 | SYS_CONFIG_TYPE: 'sys_config_type', |
| 20 | 21 | SYS_SMS_CHANNEL_CODE: 'sys_sms_channel_code', | ... | ... |
yudao-admin-ui/src/views/system/loginlog/index.vue
| ... | ... | @@ -37,7 +37,7 @@ |
| 37 | 37 | <el-table-column label="访问编号" align="center" prop="id" /> |
| 38 | 38 | <el-table-column label="日志类型" align="center" prop="logType"> |
| 39 | 39 | <template slot-scope="scope"> |
| 40 | - <span>{{ scope.row.logType === 100 ? '登录' : '退出' }}</span> | |
| 40 | + <span>{{ getDictDataLabel(DICT_TYPE.SYS_LOGIN_TYPE, scope.row.logType) }}</span> | |
| 41 | 41 | </template> |
| 42 | 42 | </el-table-column> |
| 43 | 43 | <el-table-column label="用户名称" align="center" prop="username" /> | ... | ... |
yudao-admin-ui/src/views/system/session/index.vue
| ... | ... | @@ -2,22 +2,10 @@ |
| 2 | 2 | <div class="app-container"> |
| 3 | 3 | <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> |
| 4 | 4 | <el-form-item label="登录地址" prop="userIp"> |
| 5 | - <el-input | |
| 6 | - v-model="queryParams.userIp" | |
| 7 | - placeholder="请输入登录地址" | |
| 8 | - clearable | |
| 9 | - size="small" | |
| 10 | - @keyup.enter.native="handleQuery" | |
| 11 | - /> | |
| 5 | + <el-input v-model="queryParams.userIp" placeholder="请输入登录地址" clearable size="small" @keyup.enter.native="handleQuery"/> | |
| 12 | 6 | </el-form-item> |
| 13 | 7 | <el-form-item label="用户名称" prop="username"> |
| 14 | - <el-input | |
| 15 | - v-model="queryParams.username" | |
| 16 | - placeholder="请输入用户名称" | |
| 17 | - clearable | |
| 18 | - size="small" | |
| 19 | - @keyup.enter.native="handleQuery" | |
| 20 | - /> | |
| 8 | + <el-input v-model="queryParams.username" placeholder="请输入用户名称" clearable size="small" @keyup.enter.native="handleQuery"/> | |
| 21 | 9 | </el-form-item> |
| 22 | 10 | <el-form-item> |
| 23 | 11 | <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| ... | ... | @@ -25,11 +13,7 @@ |
| 25 | 13 | </el-form-item> |
| 26 | 14 | |
| 27 | 15 | </el-form> |
| 28 | - <el-table | |
| 29 | - v-loading="loading" | |
| 30 | - :data="list" | |
| 31 | - style="width: 100%;" | |
| 32 | - > | |
| 16 | + <el-table v-loading="loading" :data="list" style="width: 100%;"> | |
| 33 | 17 | <el-table-column label="会话编号" align="center" prop="id" width="300" /> |
| 34 | 18 | <el-table-column label="登录名称" align="center" prop="username" width="100" /> |
| 35 | 19 | <el-table-column label="部门名称" align="center" prop="deptName" width="100" /> |
| ... | ... | @@ -42,13 +26,8 @@ |
| 42 | 26 | </el-table-column> |
| 43 | 27 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 44 | 28 | <template slot-scope="scope"> |
| 45 | - <el-button | |
| 46 | - size="mini" | |
| 47 | - type="text" | |
| 48 | - icon="el-icon-delete" | |
| 49 | - @click="handleForceLogout(scope.row)" | |
| 50 | - v-hasPermi="['system:user-session:delete']" | |
| 51 | - >强退</el-button> | |
| 29 | + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleForceLogout(scope.row)" | |
| 30 | + v-hasPermi="['system:user-session:delete']">强退</el-button> | |
| 52 | 31 | </template> |
| 53 | 32 | </el-table-column> |
| 54 | 33 | </el-table> | ... | ... |