Commit d43a3e4971792f043cfbe0d32a7d5d0f0e841be8
1 parent
51711336
修正定时任务获取操作人错误
Signed-off-by: TanYibin <5491541@qq.com>
Showing
2 changed files
with
67 additions
and
1 deletions
huaheng-wms-core/src/main/java/org/jeecg/utils/HuahengJwtUtil.java
@@ -43,6 +43,9 @@ public class HuahengJwtUtil { | @@ -43,6 +43,9 @@ public class HuahengJwtUtil { | ||
43 | 43 | ||
44 | /** 全仓CODE */ | 44 | /** 全仓CODE */ |
45 | public static final String ALL_WAREHOUSE_CODE = "ALL_WAREHOUSE"; | 45 | public static final String ALL_WAREHOUSE_CODE = "ALL_WAREHOUSE"; |
46 | + | ||
47 | + /** 定时任务操作人 */ | ||
48 | + public static final String TASK_AUDIENCE_NAME = "SYSTEM_TASK"; | ||
46 | 49 | ||
47 | public static final String SYSTEM_ACTIVATION_CODE_FILE_NAME = "ActivationCode.txt"; | 50 | public static final String SYSTEM_ACTIVATION_CODE_FILE_NAME = "ActivationCode.txt"; |
48 | 51 | ||
@@ -230,7 +233,12 @@ public class HuahengJwtUtil { | @@ -230,7 +233,12 @@ public class HuahengJwtUtil { | ||
230 | * @return | 233 | * @return |
231 | */ | 234 | */ |
232 | public static String getCurrentOperator() { | 235 | public static String getCurrentOperator() { |
233 | - LoginUser loginUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser)SecurityUtils.getSubject().getPrincipal() : null; | 236 | + LoginUser loginUser = null; |
237 | + try { | ||
238 | + loginUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser)SecurityUtils.getSubject().getPrincipal() : null; | ||
239 | + } catch (Exception e) { | ||
240 | + loginUser = null; | ||
241 | + } | ||
234 | if (loginUser != null) { | 242 | if (loginUser != null) { |
235 | return loginUser.getRealname(); | 243 | return loginUser.getRealname(); |
236 | } | 244 | } |
@@ -253,3 +261,4 @@ public class HuahengJwtUtil { | @@ -253,3 +261,4 @@ public class HuahengJwtUtil { | ||
253 | } | 261 | } |
254 | } | 262 | } |
255 | } | 263 | } |
264 | + |
huaheng-wms-core/src/main/java/org/jeecg/utils/aspect/TaskBuildAudienceAspect.java
0 → 100644
1 | +package org.jeecg.utils.aspect; | ||
2 | + | ||
3 | +import java.lang.reflect.Method; | ||
4 | + | ||
5 | +import javax.servlet.http.HttpServletRequest; | ||
6 | + | ||
7 | +import org.aspectj.lang.JoinPoint; | ||
8 | +import org.aspectj.lang.annotation.Aspect; | ||
9 | +import org.aspectj.lang.annotation.Before; | ||
10 | +import org.aspectj.lang.annotation.Pointcut; | ||
11 | +import org.aspectj.lang.reflect.MethodSignature; | ||
12 | +import org.jeecg.utils.HuahengJwtUtil; | ||
13 | +import org.jeecg.utils.config.ApplicationConfig; | ||
14 | +import org.jeecg.utils.support.ApiAuthentication; | ||
15 | +import org.jeecg.utils.support.PassApiAuthentication; | ||
16 | +import org.jeecg.utils.support.RSA256Key; | ||
17 | +import org.springframework.beans.factory.annotation.Autowired; | ||
18 | +import org.springframework.scheduling.annotation.EnableAsync; | ||
19 | +import org.springframework.stereotype.Component; | ||
20 | +import org.springframework.web.context.request.RequestContextHolder; | ||
21 | +import org.springframework.web.context.request.ServletRequestAttributes; | ||
22 | + | ||
23 | +import com.auth0.jwt.JWT; | ||
24 | +import com.auth0.jwt.JWTVerifier; | ||
25 | +import com.auth0.jwt.algorithms.Algorithm; | ||
26 | +import com.auth0.jwt.exceptions.JWTVerificationException; | ||
27 | +import com.auth0.jwt.interfaces.DecodedJWT; | ||
28 | + | ||
29 | +import lombok.extern.slf4j.Slf4j; | ||
30 | + | ||
31 | +/** | ||
32 | + * 构建定时任务操作人拦截器 | ||
33 | + * @author TanYibin | ||
34 | + * @createDate 2023年4月4日 | ||
35 | + */ | ||
36 | +@Slf4j | ||
37 | +@Aspect | ||
38 | +@Component | ||
39 | +@EnableAsync | ||
40 | +public class TaskBuildAudienceAspect { | ||
41 | + | ||
42 | + @Pointcut("execution(* org.jeecg.modules.wms.monitor.job.*Task.execute(..))") | ||
43 | + public void executeTask() {} | ||
44 | + | ||
45 | + /** | ||
46 | + * API Token 验证 | ||
47 | + * @author TanYibin | ||
48 | + * @createDate 2023年2月14日 | ||
49 | + * @param joinPoint | ||
50 | + * @throws NoSuchMethodException | ||
51 | + * @throws Throwable | ||
52 | + */ | ||
53 | + @Before("executeTask()") | ||
54 | + public void doBefore(JoinPoint joinPoint) throws NoSuchMethodException, Throwable { | ||
55 | + new ApiAuthentication.ApiAuthenticationBuild().audience(HuahengJwtUtil.TASK_AUDIENCE_NAME).bulid(); | ||
56 | + } | ||
57 | +} |