diff --git a/pom.xml b/pom.xml
index 3ffe76fac9ef7d81da5f777f463b2daaa2baa782..8b6dacec2bb2b34e84a6d94492d480badbcd36c6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
io.jboot
jboot
- 3.9.15-SNAPSHOT
+ 3.9.15-MJL
jar
jboot
diff --git a/src/main/java/io/jboot/app/JbootApplication.java b/src/main/java/io/jboot/app/JbootApplication.java
index 6f750b0787f476c133b0e14990e873a3fc3471a5..ec8867211d155dc285d6b42ebfdee2505c9bf156 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 0000000000000000000000000000000000000000..c0a599ccf0ad2ed172e9a96ebe532a328efec4dc
--- /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
+ };
+ }
+}