From 2922e51a7a8e657a8467c818ae16700e41ddac77 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 10 五月 2022 19:45:58 +0800
Subject: [PATCH] bug修复

---
 app/src/main/java/com/yeshi/makemoney/app/aop/AdminApiFilter.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/yeshi/makemoney/app/aop/AdminApiFilter.java b/app/src/main/java/com/yeshi/makemoney/app/aop/AdminApiFilter.java
index 380dd2e..c7ca201 100644
--- a/app/src/main/java/com/yeshi/makemoney/app/aop/AdminApiFilter.java
+++ b/app/src/main/java/com/yeshi/makemoney/app/aop/AdminApiFilter.java
@@ -1,5 +1,6 @@
 package com.yeshi.makemoney.app.aop;
 
+import com.yeshi.makemoney.app.entity.AdminUser;
 import com.yeshi.makemoney.app.entity.config.SystemConfigKey;
 import com.yeshi.makemoney.app.service.inter.config.SystemConfigService;
 import com.yeshi.makemoney.app.utils.ApiCodeConstant;
@@ -10,7 +11,11 @@
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
+import org.springframework.boot.web.servlet.server.Session;
 import org.springframework.core.annotation.Order;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContext;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
@@ -19,6 +24,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.*;
@@ -36,6 +42,7 @@
         Object[] args = joinPoint.getArgs();
         ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
                 .getRequestAttributes();
+        servletContainer.getResponse().setCharacterEncoding("UTF-8");
 
         AcceptAdminData acceptAdminData = null;
         for (Object obj : args) {
@@ -46,13 +53,30 @@
         }
 
         if (acceptAdminData != null) {
-            acceptAdminData.setSystem(SystemInfoUtil.getAdminSelectedSystem(servletContainer.getRequest().getSession()));
+            HttpSession session = servletContainer.getRequest().getSession();
+
+            acceptAdminData.setSystem(SystemInfoUtil.getAdminSelectedSystem(session));
+            if (acceptAdminData.getSystem() == null) {
+                PrintWriter out = servletContainer.getResponse().getWriter();
+                out.print(JsonUtil.loadFalseResult(ApiCodeConstant.CODE_ERROR_IN_SERVER, "鏈�夋嫨绯荤粺"));
+                out.close();
+                return null;
+            }
+            //濡傛灉鐢ㄦ埛鐧诲綍浜嗗皢鐢ㄦ埛淇℃伅鍔犲叆杩涘幓
+            SecurityContext contextSession = (SecurityContext) session.getAttribute("SPRING_SECURITY_CONTEXT");
+            if (contextSession != null) {
+                Authentication authentication = contextSession.getAuthentication();
+                AdminUser adminUser = (AdminUser) authentication.getPrincipal();
+                acceptAdminData.setAdminUser(adminUser);
+            }
+
         }
 
 
         try {
             return joinPoint.proceed(args);
         } catch (Throwable e) {
+            e.printStackTrace();
             PrintWriter out = servletContainer.getResponse().getWriter();
             out.print(JsonUtil.loadFalseResult(ApiCodeConstant.CODE_ERROR_IN_SERVER, "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"));
             out.close();

--
Gitblit v1.8.0