From 4470052c3b6bdeb18e45987f8aa293d1e93d0552 Mon Sep 17 00:00:00 2001
From: Ludc <2870569285@qq.com>
Date: 星期二, 18 十一月 2025 11:59:12 +0800
Subject: [PATCH] 所有文件上传接口增加文件安全校验逻辑。
---
Source/BladeX-Tool/blade-starter-log/src/main/java/org/springblade/core/log/config/BladeLogToolAutoConfiguration.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 97 insertions(+), 0 deletions(-)
diff --git a/Source/BladeX-Tool/blade-starter-log/src/main/java/org/springblade/core/log/config/BladeLogToolAutoConfiguration.java b/Source/BladeX-Tool/blade-starter-log/src/main/java/org/springblade/core/log/config/BladeLogToolAutoConfiguration.java
new file mode 100644
index 0000000..87b7b58
--- /dev/null
+++ b/Source/BladeX-Tool/blade-starter-log/src/main/java/org/springblade/core/log/config/BladeLogToolAutoConfiguration.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+
+package org.springblade.core.log.config;
+
+import org.springblade.core.launch.props.BladeProperties;
+import org.springblade.core.launch.props.BladePropertySource;
+import org.springblade.core.launch.server.ServerInfo;
+import org.springblade.core.log.aspect.ApiLogAspect;
+import org.springblade.core.log.aspect.LogTraceAspect;
+import org.springblade.core.log.event.ApiLogListener;
+import org.springblade.core.log.event.ErrorLogListener;
+import org.springblade.core.log.event.UsualLogListener;
+import org.springblade.core.log.feign.ILogClient;
+import org.springblade.core.log.filter.LogTraceFilter;
+import org.springblade.core.log.logger.BladeLogger;
+import org.springblade.core.log.props.BladeRequestLogProperties;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.core.Ordered;
+
+import javax.servlet.DispatcherType;
+
+/**
+ * 鏃ュ織宸ュ叿鑷姩閰嶇疆
+ *
+ * @author Chill
+ */
+@AutoConfiguration
+@ConditionalOnWebApplication
+@EnableConfigurationProperties(BladeRequestLogProperties.class)
+@BladePropertySource(value = "classpath:/blade-log.yml")
+public class BladeLogToolAutoConfiguration {
+
+ @Bean
+ public ApiLogAspect apiLogAspect() {
+ return new ApiLogAspect();
+ }
+
+ @Bean
+ public LogTraceAspect logTraceAspect() {
+ return new LogTraceAspect();
+ }
+
+ @Bean
+ public BladeLogger bladeLogger() {
+ return new BladeLogger();
+ }
+
+ @Bean
+ public FilterRegistrationBean<LogTraceFilter> logTraceFilterRegistration() {
+ FilterRegistrationBean<LogTraceFilter> registration = new FilterRegistrationBean<>();
+ registration.setDispatcherTypes(DispatcherType.REQUEST);
+ registration.setFilter(new LogTraceFilter());
+ registration.addUrlPatterns("/*");
+ registration.setName("LogTraceFilter");
+ registration.setOrder(Ordered.LOWEST_PRECEDENCE);
+ return registration;
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(name = "apiLogListener")
+ public ApiLogListener apiLogListener(ILogClient logService, ServerInfo serverInfo, BladeProperties bladeProperties) {
+ return new ApiLogListener(logService, serverInfo, bladeProperties);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(name = "errorEventListener")
+ public ErrorLogListener errorEventListener(ILogClient logService, ServerInfo serverInfo, BladeProperties bladeProperties) {
+ return new ErrorLogListener(logService, serverInfo, bladeProperties);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(name = "usualEventListener")
+ public UsualLogListener usualEventListener(ILogClient logService, ServerInfo serverInfo, BladeProperties bladeProperties) {
+ return new UsualLogListener(logService, serverInfo, bladeProperties);
+ }
+
+}
--
Gitblit v1.9.3