From 0e9b6603d4ae9d11c1fbc90257ce816c5807b8ff Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 28 十月 2022 16:55:02 +0800
Subject: [PATCH] 批量添加结算消息

---
 app/src/main/java/com/yeshi/makemoney/app/aop/AdminApiFilter.java |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 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 d67a597..97124ef 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,33 +1,35 @@
 package com.yeshi.makemoney.app.aop;
 
-import com.yeshi.makemoney.app.entity.config.SystemConfigKey;
-import com.yeshi.makemoney.app.service.inter.config.SystemConfigService;
+import com.yeshi.makemoney.app.entity.admin.AdminUser;
+import com.yeshi.makemoney.app.service.inter.admin.AdminRoleRuleService;
+import com.yeshi.makemoney.app.service.inter.admin.AdminUserRolesService;
 import com.yeshi.makemoney.app.utils.ApiCodeConstant;
 import com.yeshi.makemoney.app.utils.SystemInfoUtil;
 import com.yeshi.makemoney.app.vo.AcceptAdminData;
-import com.yeshi.makemoney.app.vo.AcceptData;
-import net.sf.json.JSONObject;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.springframework.core.annotation.Order;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContext;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.StringUtil;
 
 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.*;
 
 //鍚庡彴鎺ュ彛鐩戞帶
 @Component
 @Aspect
 @Order(2)
 public class AdminApiFilter {
+
+    @Resource
+    private AdminRoleRuleService adminRoleRuleService;
 
     public static final String EDP = "execution(* com.yeshi.makemoney.app.controller.admin..*.*(..))";
 
@@ -47,16 +49,29 @@
         }
 
         if (acceptAdminData != null) {
-            acceptAdminData.setSystem(SystemInfoUtil.getAdminSelectedSystem(servletContainer.getRequest().getSession()));
-            if(acceptAdminData.getSystem()==null){
+            HttpSession session = servletContainer.getRequest().getSession();
+            String url = servletContainer.getRequest().getRequestURI();
+
+            acceptAdminData.setSystem(SystemInfoUtil.getAdminSelectedSystem(session));
+            if (acceptAdminData.getSystem() == null && !url.endsWith("index.html") && !url.endsWith("login.html")) {
                 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();
+                //鍔犺浇鏉冮檺
+                if (adminUser != null && adminUser.getRules() == null) {
+                    adminUser.setRules(adminRoleRuleService.listPaths(adminUser.getAccount()));
+                }
+                acceptAdminData.setAdminUser(adminUser);
+            }
+
         }
-
-
 
 
         try {

--
Gitblit v1.8.0