From be9b27558c8662a080fea2600c1cd4f18b84195f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=A1=E7=89=99=E7=9A=84=E5=B0=8F=E6=9C=8B=E5=8F=8B?= Date: Mon, 31 May 2021 17:09:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Djboot.properties=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=ADjboot.shiro.ini=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=9C=AA=E7=94=9F=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/jboot/app/JbootApplication.java | 3 ++- .../shiro/JbootShiroWebEnvironment.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/main/java/io/jboot/support/shiro/JbootShiroWebEnvironment.java diff --git a/src/main/java/io/jboot/app/JbootApplication.java b/src/main/java/io/jboot/app/JbootApplication.java index 6f750b07..ec886721 100644 --- a/src/main/java/io/jboot/app/JbootApplication.java +++ b/src/main/java/io/jboot/app/JbootApplication.java @@ -133,7 +133,8 @@ public class JbootApplication { webBuilder.addListener("org.apache.shiro.web.env.EnvironmentLoaderListener"); webBuilder.addFilter("shiro", "io.jboot.support.shiro.JbootShiroFilter") .addFilterUrlMapping("shiro", urlMapping, DispatcherType.REQUEST); - + webBuilder.getDeploymentInfo().addInitParameter("shiroEnvironmentClass", + "io.jboot.support.shiro.JbootShiroWebEnvironment"); } } diff --git a/src/main/java/io/jboot/support/shiro/JbootShiroWebEnvironment.java b/src/main/java/io/jboot/support/shiro/JbootShiroWebEnvironment.java new file mode 100644 index 00000000..c0a599cc --- /dev/null +++ b/src/main/java/io/jboot/support/shiro/JbootShiroWebEnvironment.java @@ -0,0 +1,18 @@ +package io.jboot.support.shiro; + +import io.jboot.Jboot; +import org.apache.shiro.config.IniFactorySupport; +import org.apache.shiro.web.env.IniWebEnvironment; + +public class JbootShiroWebEnvironment extends IniWebEnvironment { + @Override + protected String[] getDefaultConfigLocations() { + //读取jboot配置文件中的jboot.shiro.ini配置项 + String iniFileName = "classpath:" + Jboot.configValue("jboot.shiro.ini", "shiro.ini"); + return new String[]{ + iniFileName, + DEFAULT_WEB_INI_RESOURCE_PATH, + IniFactorySupport.DEFAULT_INI_RESOURCE_PATH + }; + } +} -- Gitee