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) {