浏览代码

登录日志、操作日志增加防重放

xusl 1 年之前
父节点
当前提交
098c1980e8

+ 6 - 2
backend/src/main/java/com/jiayue/ssi/controller/SysOperlogController.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.NumberUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.ssi.annotation.OperateLog;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.annotation.PreventReplay;
 import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.constant.CustomException;
 import com.jiayue.ssi.constant.CustomException;
@@ -41,6 +42,7 @@ public class SysOperlogController {
      * 获取审计类型
      * 获取审计类型
      */
      */
     @GetMapping(value = "/getAuditType")
     @GetMapping(value = "/getAuditType")
+    @PreventReplay
     public ResponseVO getAuditType() throws CustomException {
     public ResponseVO getAuditType() throws CustomException {
         List<Map> list = new ArrayList<>();
         List<Map> list = new ArrayList<>();
         try {
         try {
@@ -64,7 +66,7 @@ public class SysOperlogController {
                 list.add(map2);
                 list.add(map2);
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
-            throw new CustomException("操作日志删除异常", e);
+            throw new CustomException("获取审计类型异常", e);
         }
         }
         return ResponseVO.success(list);
         return ResponseVO.success(list);
     }
     }
@@ -76,6 +78,7 @@ public class SysOperlogController {
      */
      */
     @GetMapping(value = "/getAll")
     @GetMapping(value = "/getAll")
     @PreAuthorize("@ss.hasPermi('auditManager:operlog:list')")
     @PreAuthorize("@ss.hasPermi('auditManager:operlog:list')")
+    @PreventReplay
     public ResponseVO getAll(String currentPage, String pageSize, String title, String operName, String auditType,
     public ResponseVO getAll(String currentPage, String pageSize, String title, String operName, String auditType,
                              String businessType, String status, String startOperTime, String endOperTime, String sortOrder) throws CustomException {
                              String businessType, String status, String startOperTime, String endOperTime, String sortOrder) throws CustomException {
         try {
         try {
@@ -137,7 +140,7 @@ public class SysOperlogController {
                 wrapper.le("oper_time", DateUtils.getDayLastTime(DateUtil.parseDate(endOperTime)));
                 wrapper.le("oper_time", DateUtils.getDayLastTime(DateUtil.parseDate(endOperTime)));
             }
             }
             if (StringUtils.isNotEmpty(sortOrder)) {
             if (StringUtils.isNotEmpty(sortOrder)) {
-                String[] orders = sortOrder.split("&");
+                String[] orders = sortOrder.replaceAll("&","&").split("&");
                 String sortDbField = "";
                 String sortDbField = "";
                 if ("operTime".equals(orders[0])) {
                 if ("operTime".equals(orders[0])) {
                     sortDbField = "oper_time";
                     sortDbField = "oper_time";
@@ -216,6 +219,7 @@ public class SysOperlogController {
      */
      */
     @GetMapping(value = "/sysOperlogTotal")
     @GetMapping(value = "/sysOperlogTotal")
     @PreAuthorize("@ss.hasPermi('auditManager:sysOperlogTotal:list')")
     @PreAuthorize("@ss.hasPermi('auditManager:sysOperlogTotal:list')")
+    @PreventReplay
     public ResponseVO sysOperlogTotal(String startLoginTime, String endLoginTime) throws CustomException {
     public ResponseVO sysOperlogTotal(String startLoginTime, String endLoginTime) throws CustomException {
         try {
         try {
             QueryWrapper<SysOperLog> wrapper = new QueryWrapper<>();
             QueryWrapper<SysOperLog> wrapper = new QueryWrapper<>();

+ 2 - 0
backend/src/main/java/com/jiayue/ssi/filter/JwtAuthenticationTokenFilter.java

@@ -108,6 +108,8 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
                         }
                         }
                     }
                     }
                 } catch (Exception e) {
                 } catch (Exception e) {
+                    ResponseInfo.doResponse(response, "用户名或密码错误!", 403);
+                    return;
                 }
                 }
             }
             }
         }
         }

+ 1 - 1
backend/src/main/resources/mapper/system/SysRoleMapper.xml

@@ -71,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         from sys_role r
         from sys_role r
 	        left join sys_user_role ur on ur.role_id = r.role_id
 	        left join sys_user_role ur on ur.role_id = r.role_id
 	        left join sys_user u on u.id = ur.user_id
 	        left join sys_user u on u.id = ur.user_id
-	    where u.id = #{userId}
+	    where u.id = #{userId} and r.del_flag = '0' and ur.del_flag = '0' and u.del_flag = '0'
 	</select>
 	</select>
 
 
 	<select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult">
 	<select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult">

+ 16 - 7
ui/src/views/auditManager/logininforTotal/index.vue

@@ -79,7 +79,7 @@ export default {
   },
   },
   methods: {
   methods: {
     /** 查询登录日志列表 */
     /** 查询登录日志列表 */
-    getList:debounce(function(){
+    async getList(){
       if (this.dateRange == null || this.dateRange.length==0) {
       if (this.dateRange == null || this.dateRange.length==0) {
         this.$message({
         this.$message({
           type: 'warning',
           type: 'warning',
@@ -94,12 +94,22 @@ export default {
         return
         return
       }
       }
 
 
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
+
       this.loading = true;
       this.loading = true;
       var searchParams = {
       var searchParams = {
         startLoginTime:this.dateRange[0],
         startLoginTime:this.dateRange[0],
-        endLoginTime:this.dateRange[1]
+        endLoginTime:this.dateRange[1],
+        sysTime: sysTime,
+        lk: lk
       }
       }
-      this.$axios.get('/sysLogininforController/logininforTotal',
+      await this.$axios.get('/sysLogininforController/logininforTotal',
         {params: searchParams}).then((res) => {
         {params: searchParams}).then((res) => {
         this.list = res.data
         this.list = res.data
         if (res.data == '') {
         if (res.data == '') {
@@ -110,13 +120,12 @@ export default {
         this.loading = false
         this.loading = false
       }).catch((error) => {
       }).catch((error) => {
         this.loading = false;
         this.loading = false;
-        // this.$message.error(error)
       })
       })
-    },1000),
+    },
     /** 搜索按钮操作 */
     /** 搜索按钮操作 */
-    handleQuery() {
+    handleQuery:debounce( function(){
       this.getList();
       this.getList();
-    }
+    },1000),
   }
   }
 };
 };
 </script>
 </script>

+ 27 - 6
ui/src/views/auditManager/operlog/index.vue

@@ -270,14 +270,25 @@ export default {
       }
       }
     };
     };
   },
   },
-  created() {
+  async created() {
+    let sysTime
+    let lk
+    await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+      sysTime = res.data.sysTime
+      lk = res.data.lk
+    }).catch((error) => {
+    })
+    var searchParams = {
+      sysTime: sysTime,
+      lk: lk
+    }
     // 获取审计类型
     // 获取审计类型
-    this.$axios.get('/sysOperlogController/getAuditType').then((res) => {
+    await this.$axios.get('/sysOperlogController/getAuditType',{params: searchParams}).then((res) => {
       this.auditTypeOptions = res.data
       this.auditTypeOptions = res.data
     }).catch((error) => {
     }).catch((error) => {
     })
     })
 
 
-    this.getList();
+    await this.getList();
   },
   },
   methods: {
   methods: {
     sortChangeEvent({column, property, order}) {
     sortChangeEvent({column, property, order}) {
@@ -338,7 +349,15 @@ export default {
       return belongTo
       return belongTo
     },
     },
     /** 查询操作日志列表 */
     /** 查询操作日志列表 */
-    getList: debounce(function () {
+    getList: debounce(async function () {
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
+
       this.loading = true;
       this.loading = true;
       let _startOperTime;
       let _startOperTime;
       let _endOperTime;
       let _endOperTime;
@@ -359,9 +378,11 @@ export default {
         status: this.queryParams.status,
         status: this.queryParams.status,
         startOperTime: _startOperTime,
         startOperTime: _startOperTime,
         endOperTime: _endOperTime,
         endOperTime: _endOperTime,
-        sortOrder: this.sortOrder
+        sortOrder: this.sortOrder,
+        sysTime: sysTime,
+        lk: lk
       }
       }
-      this.$axios.get('/sysOperlogController/getAll',
+      await this.$axios.get('/sysOperlogController/getAll',
         {params: searchParams}).then((res) => {
         {params: searchParams}).then((res) => {
         this.list = res.data.records
         this.list = res.data.records
         this.total = res.data.total
         this.total = res.data.total

+ 10 - 2
ui/src/views/auditManager/operlogTotal/index.vue

@@ -80,7 +80,7 @@ export default {
   },
   },
   methods: {
   methods: {
     /** 查询登录日志列表 */
     /** 查询登录日志列表 */
-    getList:debounce(function(){
+    getList:debounce(async function(){
       if (this.dateRange == null || this.dateRange.length==0) {
       if (this.dateRange == null || this.dateRange.length==0) {
         this.$message({
         this.$message({
           type: 'warning',
           type: 'warning',
@@ -95,12 +95,20 @@ export default {
         return
         return
       }
       }
 
 
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
+
       this.loading = true;
       this.loading = true;
       var searchParams = {
       var searchParams = {
         startLoginTime:this.dateRange[0],
         startLoginTime:this.dateRange[0],
         endLoginTime:this.dateRange[1]
         endLoginTime:this.dateRange[1]
       }
       }
-      this.$axios.get('/sysOperlogController/sysOperlogTotal',
+      await this.$axios.get('/sysOperlogController/sysOperlogTotal',
         {params: searchParams}).then((res) => {
         {params: searchParams}).then((res) => {
         this.list = res.data
         this.list = res.data
         if (res.data == '') {
         if (res.data == '') {