| | |
| | | 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.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.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; |
| | | 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..*.*(..))"; |
| | | |
| | |
| | | |
| | | if (acceptAdminData != null) { |
| | | HttpSession session = servletContainer.getRequest().getSession(); |
| | | String url = servletContainer.getRequest().getRequestURI(); |
| | | |
| | | acceptAdminData.setSystem(SystemInfoUtil.getAdminSelectedSystem(session)); |
| | | if (acceptAdminData.getSystem() == null) { |
| | | 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(); |
| | |
| | | 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); |
| | | } |
| | | |