1. xxl-job 设置虚拟用户 0 登录操作

2. Access-Control-Expose-Headers 允许暴露 content-disposition
This commit is contained in:
chenbowen
2025-09-25 12:01:19 +08:00
parent 32cb704e4f
commit f33d3f07b8
9 changed files with 536 additions and 3 deletions

View File

@@ -35,6 +35,11 @@ public class XxlJobProperties {
@NotNull(message = "执行器配置不能为空")
private ExecutorProperties executor;
/**
* 系统用户配置
*/
private SystemUserProperties systemUser = new SystemUserProperties();
/**
* XXL-Job 调度器配置类
*/
@@ -96,4 +101,37 @@ public class XxlJobProperties {
}
/**
* XXL-Job 系统用户配置类
*/
@Data
public static class SystemUserProperties {
/**
* 系统用户 ID
*/
private Long userId = 0L;
/**
* 系统用户昵称
*/
private String nickname = "job";
/**
* 系统租户 ID
*/
private Long tenantId = 1L;
/**
* 系统公司 ID可选
*/
private Long companyId;
/**
* 系统部门 ID可选
*/
private Long deptId;
}
}

View File

@@ -1,5 +1,6 @@
package com.zt.plat.framework.quartz.config;
import com.zt.plat.framework.quartz.core.handler.XxlJobSystemAuthenticationAspect;
import com.xxl.job.core.executor.XxlJobExecutor;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.slf4j.Slf4j;
@@ -9,7 +10,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
@@ -22,6 +23,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@ConditionalOnProperty(prefix = "xxl.job", name = "enabled", havingValue = "true", matchIfMissing = true)
@EnableConfigurationProperties({XxlJobProperties.class})
@EnableScheduling // 开启 Spring 自带的定时任务
@EnableAspectJAutoProxy // 开启 AOP
@Slf4j
public class ZtXxlJobAutoConfiguration {
@@ -44,4 +46,17 @@ public class ZtXxlJobAutoConfiguration {
return xxlJobExecutor;
}
/**
* 配置 XXL-Job 系统认证切面
*
* 为 @XxlJob 注解的方法提供系统用户认证上下文
*/
@Bean
@ConditionalOnMissingBean
public XxlJobSystemAuthenticationAspect xxlJobSystemAuthenticationAspect(XxlJobProperties properties) {
log.info("[ZtXxlJobAutoConfiguration][注册 XXL-Job 系统认证切面] systemUserId=[{}], systemTenantId=[{}]",
properties.getSystemUser().getUserId(), properties.getSystemUser().getTenantId());
return new XxlJobSystemAuthenticationAspect(properties.getSystemUser());
}
}