From ad639dbd954809d6ad4115633c9aa7c3c91cec4f Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Thu, 27 Oct 2022 17:39:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/jlw/{cors => filter}/CorsFilter.java | 2 +- .../jlw/{cors => filter}/ImageUrlFilter.java | 0 .../main/java/cn/jlw/filter/LoginFilter.java | 40 +++++++++++++++++++ .../{cors => filter}/TokenAuthorFilter.java | 2 +- .../main/java/cn/jlw/web/WebApplication.java | 2 +- 5 files changed, 43 insertions(+), 3 deletions(-) rename web/src/main/java/cn/jlw/{cors => filter}/CorsFilter.java (99%) rename web/src/main/java/cn/jlw/{cors => filter}/ImageUrlFilter.java (100%) create mode 100644 web/src/main/java/cn/jlw/filter/LoginFilter.java rename web/src/main/java/cn/jlw/{cors => filter}/TokenAuthorFilter.java (98%) diff --git a/web/src/main/java/cn/jlw/cors/CorsFilter.java b/web/src/main/java/cn/jlw/filter/CorsFilter.java similarity index 99% rename from web/src/main/java/cn/jlw/cors/CorsFilter.java rename to web/src/main/java/cn/jlw/filter/CorsFilter.java index 8d1eb3b2..580a3639 100644 --- a/web/src/main/java/cn/jlw/cors/CorsFilter.java +++ b/web/src/main/java/cn/jlw/filter/CorsFilter.java @@ -1,4 +1,4 @@ -package cn.jlw.cors; +package cn.jlw.filter; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; diff --git a/web/src/main/java/cn/jlw/cors/ImageUrlFilter.java b/web/src/main/java/cn/jlw/filter/ImageUrlFilter.java similarity index 100% rename from web/src/main/java/cn/jlw/cors/ImageUrlFilter.java rename to web/src/main/java/cn/jlw/filter/ImageUrlFilter.java diff --git a/web/src/main/java/cn/jlw/filter/LoginFilter.java b/web/src/main/java/cn/jlw/filter/LoginFilter.java new file mode 100644 index 00000000..90dcac8f --- /dev/null +++ b/web/src/main/java/cn/jlw/filter/LoginFilter.java @@ -0,0 +1,40 @@ +package cn.jlw.filter; + +import com.ibeetl.admin.core.service.CorePlatformService; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; + +@WebFilter(value = "/*", filterName = "loginFilter") +public class LoginFilter implements Filter { + public void destroy() { + } + public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { + //1.强制转换 + HttpServletRequest request = (HttpServletRequest) req; + //2.获取请求资源路径 + String requestURI = request.getRequestURI(); + //3.判断是否包含登录相关资源路径,同时排除css,js,图片等 + if (requestURI.contains("/login.json") || requestURI.matches(".*(/css/|/js/|/fonts/|/plugins/).*")) { + //放行 + chain.doFilter(req, resp); + } else { + //4.判断是否登录 + Object user = request.getSession().getAttribute(CorePlatformService.ACCESS_CURRENT_USER); + if (user != null) { + //已登录,放行 + chain.doFilter(req, resp); + }else { + //未登录,跳转登陆页面 + request.getRequestDispatcher("/").forward(request,resp); + } + } + } + public void init(FilterConfig config) throws ServletException { + + } + +} + diff --git a/web/src/main/java/cn/jlw/cors/TokenAuthorFilter.java b/web/src/main/java/cn/jlw/filter/TokenAuthorFilter.java similarity index 98% rename from web/src/main/java/cn/jlw/cors/TokenAuthorFilter.java rename to web/src/main/java/cn/jlw/filter/TokenAuthorFilter.java index db0ca6e3..a895510d 100644 --- a/web/src/main/java/cn/jlw/cors/TokenAuthorFilter.java +++ b/web/src/main/java/cn/jlw/filter/TokenAuthorFilter.java @@ -1,4 +1,4 @@ -package cn.jlw.cors; +package cn.jlw.filter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/web/src/main/java/cn/jlw/web/WebApplication.java b/web/src/main/java/cn/jlw/web/WebApplication.java index 24e9f2a8..ee8e48f6 100644 --- a/web/src/main/java/cn/jlw/web/WebApplication.java +++ b/web/src/main/java/cn/jlw/web/WebApplication.java @@ -16,7 +16,7 @@ import org.springframework.web.WebApplicationInitializer; @EnableCaching @EnableAsync @ComponentScan(basePackages= {"cn.jlw","com.ibeetl.admin","com.ibeetl.jlw"}) -@ServletComponentScan(basePackages = "cn.jlw.cors") +@ServletComponentScan(basePackages = "cn.jlw.filter") public class WebApplication extends SpringBootServletInitializer implements WebApplicationInitializer { public static void main(String[] args) {