From 3da5756312dc390b841db637be4ec5eb48caedba Mon Sep 17 00:00:00 2001 From: orangej Date: Tue, 7 Sep 2021 22:17:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0filter=E5=8F=82=E6=95=B0?= =?UTF-8?q?=EF=BC=8C=E8=87=AA=E5=AE=9A=E4=B9=89shiro=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/io/jboot/app/JbootApplication.java | 6 +++++- .../java/io/jboot/support/shiro/JbootShiroConfig.java | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/jboot/app/JbootApplication.java b/src/main/java/io/jboot/app/JbootApplication.java index ec886721..40e1d3fe 100644 --- a/src/main/java/io/jboot/app/JbootApplication.java +++ b/src/main/java/io/jboot/app/JbootApplication.java @@ -21,6 +21,7 @@ import com.jfinal.server.undertow.WebBuilder; import io.jboot.app.config.JbootConfigManager; import io.jboot.app.undertow.JbootUndertowConfig; import io.jboot.app.undertow.JbootUndertowServer; +import io.jboot.utils.StrUtil; import javax.servlet.DispatcherType; @@ -130,8 +131,11 @@ public class JbootApplication { if (urlMapping == null) { urlMapping = "/*"; } + String filterClass = StrUtil.defaultIfBlank(ApplicationUtil.getConfigValue("jboot.shiro.filter"), + "io.jboot.support.shiro.JbootShiroFilter"); + webBuilder.addListener("org.apache.shiro.web.env.EnvironmentLoaderListener"); - webBuilder.addFilter("shiro", "io.jboot.support.shiro.JbootShiroFilter") + webBuilder.addFilter("shiro", filterClass) .addFilterUrlMapping("shiro", urlMapping, DispatcherType.REQUEST); webBuilder.getDeploymentInfo().addInitParameter("shiroEnvironmentClass", "io.jboot.support.shiro.JbootShiroWebEnvironment"); diff --git a/src/main/java/io/jboot/support/shiro/JbootShiroConfig.java b/src/main/java/io/jboot/support/shiro/JbootShiroConfig.java index 102f882d..b0002a38 100644 --- a/src/main/java/io/jboot/support/shiro/JbootShiroConfig.java +++ b/src/main/java/io/jboot/support/shiro/JbootShiroConfig.java @@ -27,6 +27,7 @@ public class JbootShiroConfig { private String urlMapping = "/*"; private String invokeListener; + private String filter = "io.jboot.support.shiro.JbootShiroFilter"; public String getLoginUrl() { return loginUrl; @@ -79,6 +80,14 @@ public class JbootShiroConfig { public boolean isConfigOK() { return ini != null; } + + public String getFilter() { + return filter; + } + + public void setFilter(String filter) { + this.filter = filter; + } } -- Gitee