This is an automated email from the ASF dual-hosted git repository.

lprimak pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/shiro.git

commit 32ba1ba336b1fbfc2e22ed8623c1b4bfa4754719
Author: lprimak <[email protected]>
AuthorDate: Sun Feb 8 00:25:27 2026 -0600

    spring, pom.xml cleanup
---
 core/pom.xml                                             |  4 ----
 crypto/cipher/pom.xml                                    |  4 ----
 integration-tests/jakarta-ee/pom.xml                     |  2 +-
 integration-tests/meecrowave-support/pom.xml             |  4 ++--
 pom.xml                                                  |  1 +
 samples/spring-hibernate/pom.xml                         | 12 ++++--------
 samples/spring-mvc/pom.xml                               | 14 +++++---------
 support/guice/pom.xml                                    |  4 ----
 support/jakarta-ee/pom.xml                               |  2 +-
 support/jaxrs/pom.xml                                    |  4 ----
 support/spring-boot/spring-boot-starter/pom.xml          | 15 +++------------
 .../boot/autoconfigure/ShiroBeanAutoConfiguration.java   | 10 ++++++----
 .../web/autoconfigure/ShiroWebFilterConfiguration.java   |  9 +++++++++
 .../ShiroSpringAutoConfigurationTest.groovy              |  5 +++--
 .../web/ShiroWebSpringAutoConfigurationTest.groovy       |  7 +++++--
 support/spring-boot/spring-boot-web-starter/pom.xml      | 16 +++-------------
 support/spring/pom.xml                                   |  4 ----
 .../shiro/spring/ShiroEventBusBeanPostProcessor.java     |  4 ----
 .../shiro/spring/config/ShiroBeanConfiguration.java      |  9 +++++----
 .../spring/web/ShiroFilterFactoryBeanPostProcessor.java  |  8 +++++++-
 .../spring/web/config/ShiroWebFilterConfiguration.java   |  6 ++++--
 .../spring/config/ShiroBeanConfigurationTest.groovy      |  3 ++-
 .../shiro/spring/config/ShiroConfigurationTest.groovy    |  5 ++++-
 .../shiro/spring/config/ShiroWebConfigurationTest.groovy |  5 ++++-
 web/pom.xml                                              |  4 ----
 25 files changed, 69 insertions(+), 92 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index 3978a149f..07d16e51a 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -102,10 +102,6 @@
                     </instructions>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/crypto/cipher/pom.xml b/crypto/cipher/pom.xml
index 1adc24c60..6dfadc820 100644
--- a/crypto/cipher/pom.xml
+++ b/crypto/cipher/pom.xml
@@ -54,10 +54,6 @@
                     </instructions>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/integration-tests/jakarta-ee/pom.xml 
b/integration-tests/jakarta-ee/pom.xml
index 0d5bf1d7e..1c04f5ab0 100644
--- a/integration-tests/jakarta-ee/pom.xml
+++ b/integration-tests/jakarta-ee/pom.xml
@@ -70,7 +70,7 @@
         <dependency>
             <groupId>jakarta.platform</groupId>
             <artifactId>jakarta.jakartaee-api</artifactId>
-            <version>11.0.0</version>
+            <version>${jakarta.ee.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/integration-tests/meecrowave-support/pom.xml 
b/integration-tests/meecrowave-support/pom.xml
index ff08c6da4..a039dc846 100644
--- a/integration-tests/meecrowave-support/pom.xml
+++ b/integration-tests/meecrowave-support/pom.xml
@@ -90,12 +90,12 @@
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
                 <artifactId>tomcat-jaspic-api</artifactId>
-                <version>11.0.18</version>
+                <version>${tomcat.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
                 <artifactId>tomcat-catalina</artifactId>
-                <version>11.0.18</version>
+                <version>${tomcat.version}</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/pom.xml b/pom.xml
index 8231943fd..882da66f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,7 @@
         <jcache.api.version>1.1.1</jcache.api.version>
         <jdk.version>17</jdk.version>
         <tomcat.version>11.0.18</tomcat.version>
+        <jakarta.ee.version>11.0.0</jakarta.ee.version>
         <jetty.version>12.1.6</jetty.version>
         <owasp.java.encoder.version>1.4.0</owasp.java.encoder.version>
         <!-- Don't change this version without also changing the shiro-quartz 
and shiro-features
diff --git a/samples/spring-hibernate/pom.xml b/samples/spring-hibernate/pom.xml
index 742880f40..48a91f304 100644
--- a/samples/spring-hibernate/pom.xml
+++ b/samples/spring-hibernate/pom.xml
@@ -129,15 +129,11 @@
         </dependency>
 
 
-        <!-- JSTL (Jakarta) -->
         <dependency>
-            <groupId>jakarta.servlet.jsp.jstl</groupId>
-            <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.web</groupId>
-            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
-            <version>3.0.1</version>
+            <groupId>org.eclipse.jetty.ee11</groupId>
+            <artifactId>jetty-ee11-glassfish-jstl</artifactId>
+            <version>${jetty.version}</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
diff --git a/samples/spring-mvc/pom.xml b/samples/spring-mvc/pom.xml
index 44349d260..90b47ce24 100644
--- a/samples/spring-mvc/pom.xml
+++ b/samples/spring-mvc/pom.xml
@@ -59,7 +59,7 @@
         <dependency>
             <groupId>jakarta.platform</groupId>
             <artifactId>jakarta.jakartaee-web-api</artifactId>
-            <version>11.0.0</version>
+            <version>${jakarta.ee.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -133,15 +133,11 @@
             <artifactId>spring-webmvc</artifactId>
         </dependency>
 
-        <!-- JSTL (Jakarta) -->
         <dependency>
-            <groupId>jakarta.servlet.jsp.jstl</groupId>
-            <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.web</groupId>
-            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
-            <version>3.0.1</version>
+            <groupId>org.eclipse.jetty.ee11</groupId>
+            <artifactId>jetty-ee11-glassfish-jstl</artifactId>
+            <version>${jetty.version}</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
diff --git a/support/guice/pom.xml b/support/guice/pom.xml
index 81b3b9061..1289ed427 100644
--- a/support/guice/pom.xml
+++ b/support/guice/pom.xml
@@ -123,10 +123,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/support/jakarta-ee/pom.xml b/support/jakarta-ee/pom.xml
index 2cb3cd00d..a5e60ce56 100644
--- a/support/jakarta-ee/pom.xml
+++ b/support/jakarta-ee/pom.xml
@@ -39,7 +39,7 @@
         <dependency>
             <groupId>jakarta.platform</groupId>
             <artifactId>jakarta.jakartaee-api</artifactId>
-            <version>11.0.0</version>
+            <version>${jakarta.ee.version}</version>
             <scope>provided</scope>
             <optional>true</optional>
         </dependency>
diff --git a/support/jaxrs/pom.xml b/support/jaxrs/pom.xml
index 876a76c5a..d3f97a22d 100644
--- a/support/jaxrs/pom.xml
+++ b/support/jaxrs/pom.xml
@@ -127,10 +127,6 @@
                     </instructions>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/support/spring-boot/spring-boot-starter/pom.xml 
b/support/spring-boot/spring-boot-starter/pom.xml
index 118044fd9..7f5b5c876 100644
--- a/support/spring-boot/spring-boot-starter/pom.xml
+++ b/support/spring-boot/spring-boot-starter/pom.xml
@@ -109,27 +109,18 @@
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>11.0.15</version>
+                <version>${tomcat.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>11.0.15</version>
+                <version>${tomcat.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>11.0.15</version>
+                <version>${tomcat.version}</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git 
a/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/boot/autoconfigure/ShiroBeanAutoConfiguration.java
 
b/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/boot/autoconfigure/ShiroBeanAutoConfiguration.java
index 3adf45128..ea6988cf9 100644
--- 
a/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/boot/autoconfigure/ShiroBeanAutoConfiguration.java
+++ 
b/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/boot/autoconfigure/ShiroBeanAutoConfiguration.java
@@ -26,6 +26,7 @@ import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 
 /**
  * @since 1.4.0
@@ -43,13 +44,14 @@ public class ShiroBeanAutoConfiguration {
 
     @Bean
     @ConditionalOnMissingBean
-    public static EventBus eventBus(ShiroEventBusBeanPostProcessor processor) {
-        return processor.getEventBus();
+    public static EventBus eventBus() {
+        return new DefaultEventBus();
     }
 
     @Bean
     @ConditionalOnMissingBean
-    public static ShiroEventBusBeanPostProcessor 
shiroEventBusAwareBeanPostProcessor() {
-        return new ShiroEventBusBeanPostProcessor(new DefaultEventBus());
+    public static ShiroEventBusBeanPostProcessor
+    shiroEventBusAwareBeanPostProcessor(@Lazy EventBus eventBus) {
+        return new ShiroEventBusBeanPostProcessor(eventBus);
     }
 }
diff --git 
a/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/config/web/autoconfigure/ShiroWebFilterConfiguration.java
 
b/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/config/web/autoconfigure/ShiroWebFilterConfiguration.java
index 917557bb6..a48a43f8d 100644
--- 
a/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/config/web/autoconfigure/ShiroWebFilterConfiguration.java
+++ 
b/support/spring-boot/spring-boot-starter/src/main/java/org/apache/shiro/spring/config/web/autoconfigure/ShiroWebFilterConfiguration.java
@@ -19,6 +19,7 @@
 package org.apache.shiro.spring.config.web.autoconfigure;
 
 import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBeanPostProcessor;
 import org.apache.shiro.spring.web.config.AbstractShiroWebFilterConfiguration;
 import org.apache.shiro.web.servlet.AbstractShiroFilter;
 import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -29,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 import jakarta.servlet.DispatcherType;
+import org.springframework.context.annotation.Lazy;
 import java.util.List;
 
 /**
@@ -55,6 +57,13 @@ public class ShiroWebFilterConfiguration extends 
AbstractShiroWebFilterConfigura
         return super.shiroFilterFactoryBean();
     }
 
+    @Bean
+    @ConditionalOnMissingBean
+    static ShiroFilterFactoryBeanPostProcessor
+    shiroFilterFactoryBeanPostProcessor(@Lazy ShiroFilterFactoryBean 
shiroFilterFactoryBean) {
+        return new ShiroFilterFactoryBeanPostProcessor(shiroFilterFactoryBean);
+    }
+
     @Bean(name = REGISTRATION_BEAN_NAME)
     @ConditionalOnMissingBean(name = REGISTRATION_BEAN_NAME)
     protected FilterRegistrationBean<AbstractShiroFilter> 
filterShiroFilterRegistrationBean() throws Exception {
diff --git 
a/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/ShiroSpringAutoConfigurationTest.groovy
 
b/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/ShiroSpringAutoConfigurationTest.groovy
index ad585a015..117fd0586 100644
--- 
a/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/ShiroSpringAutoConfigurationTest.groovy
+++ 
b/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/ShiroSpringAutoConfigurationTest.groovy
@@ -29,6 +29,7 @@ import org.apache.shiro.mgt.SecurityManager
 import org.apache.shiro.subject.Subject
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.extension.ExtendWith
+import org.springframework.aop.framework.Advised
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
 import org.springframework.test.context.junit.jupiter.SpringExtension
@@ -63,8 +64,8 @@ public class ShiroSpringAutoConfigurationTest {
         assertNotNull eventBusAwareObject
         assertNotNull eventBus
         assertTrue(eventBus.registry.containsKey(subscribedListener))
-        assertSame(eventBusAwareObject.getEventBus(), eventBus)
-        assertSame(((DefaultSecurityManager) securityManager).getEventBus(), 
eventBus)
+        
assertSame(((Advised)eventBusAwareObject.getEventBus()).getTargetSource().getTarget(),
 eventBus)
+        
assertSame(((Advised)securityManager.getEventBus()).getTargetSource().getTarget(),
 eventBus)
 
         // now lets do a couple quick permission tests to make sure everything 
has been initialized correctly.
         Subject joeCoder = new Subject.Builder(securityManager).buildSubject()
diff --git 
a/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/web/ShiroWebSpringAutoConfigurationTest.groovy
 
b/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/web/ShiroWebSpringAutoConfigurationTest.groovy
index 5a6612dc6..1aa2e2b72 100644
--- 
a/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/web/ShiroWebSpringAutoConfigurationTest.groovy
+++ 
b/support/spring-boot/spring-boot-starter/src/test/groovy/org/apache/shiro/spring/boot/autoconfigure/web/ShiroWebSpringAutoConfigurationTest.groovy
@@ -18,6 +18,7 @@
  */
 package org.apache.shiro.spring.boot.autoconfigure.web
 
+import org.apache.shiro.SecurityUtils
 import 
org.apache.shiro.spring.boot.autoconfigure.web.application.ShiroWebAutoConfigurationTestApplication
 import 
org.apache.shiro.spring.boot.autoconfigure.web.application.ShiroWebAutoConfigurationTestApplication.EventBusAwareObject
 import 
org.apache.shiro.spring.boot.autoconfigure.web.application.ShiroWebAutoConfigurationTestApplication.SubscribedListener
@@ -30,6 +31,7 @@ import 
org.apache.shiro.web.filter.mgt.DefaultFilterChainManager
 import org.apache.shiro.web.mgt.WebSecurityManager
 import org.apache.shiro.web.servlet.AbstractShiroFilter
 import org.junit.jupiter.api.Test
+import org.springframework.aop.framework.Advised
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
 
@@ -71,8 +73,9 @@ class ShiroWebSpringAutoConfigurationTest {
         assertNotNull eventBus
         assertNotNull shiroFilter
         assertTrue(eventBus.registry.containsKey(subscribedListener))
-        assertSame(eventBusAwareObject.getEventBus(), eventBus)
-        assertSame(((DefaultSecurityManager) securityManager).getEventBus(), 
eventBus)
+        
assertSame(((Advised)eventBusAwareObject.getEventBus()).getTargetSource().getTarget(),
 eventBus)
+        assertSame(((Advised) 
SecurityUtils.unwrapSecurityManager(securityManager, DefaultSecurityManager)
+                .getEventBus()).getTargetSource().getTarget(), eventBus)
 
         // make sure global chains are configured
         assertThat shiroFilter.filterChainResolver.filterChainManager, 
instanceOf(DefaultFilterChainManager)
diff --git a/support/spring-boot/spring-boot-web-starter/pom.xml 
b/support/spring-boot/spring-boot-web-starter/pom.xml
index 232a44d52..55554b30b 100644
--- a/support/spring-boot/spring-boot-web-starter/pom.xml
+++ b/support/spring-boot/spring-boot-web-starter/pom.xml
@@ -86,28 +86,18 @@
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>11.0.15</version>
+                <version>${tomcat.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>11.0.15</version>
+                <version>${tomcat.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>11.0.15</version>
+                <version>${tomcat.version}</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/support/spring/pom.xml b/support/spring/pom.xml
index bc60daebf..819b332b1 100644
--- a/support/spring/pom.xml
+++ b/support/spring/pom.xml
@@ -113,10 +113,6 @@
                     </instructions>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git 
a/support/spring/src/main/java/org/apache/shiro/spring/ShiroEventBusBeanPostProcessor.java
 
b/support/spring/src/main/java/org/apache/shiro/spring/ShiroEventBusBeanPostProcessor.java
index a44c904d2..f0a21059f 100644
--- 
a/support/spring/src/main/java/org/apache/shiro/spring/ShiroEventBusBeanPostProcessor.java
+++ 
b/support/spring/src/main/java/org/apache/shiro/spring/ShiroEventBusBeanPostProcessor.java
@@ -71,8 +71,4 @@ public class ShiroEventBusBeanPostProcessor implements 
BeanPostProcessor, Priori
     public int getOrder() {
         return LOWEST_PRECEDENCE - 1;
     }
-
-    public EventBus getEventBus() {
-        return eventBus;
-    }
 }
diff --git 
a/support/spring/src/main/java/org/apache/shiro/spring/config/ShiroBeanConfiguration.java
 
b/support/spring/src/main/java/org/apache/shiro/spring/config/ShiroBeanConfiguration.java
index ba134aa9e..965821bed 100644
--- 
a/support/spring/src/main/java/org/apache/shiro/spring/config/ShiroBeanConfiguration.java
+++ 
b/support/spring/src/main/java/org/apache/shiro/spring/config/ShiroBeanConfiguration.java
@@ -24,6 +24,7 @@ import org.apache.shiro.spring.LifecycleBeanPostProcessor;
 import org.apache.shiro.spring.ShiroEventBusBeanPostProcessor;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 
 /**
  * @since 1.4.0
@@ -37,12 +38,12 @@ public class ShiroBeanConfiguration {
     }
 
     @Bean
-    public static EventBus eventBus(ShiroEventBusBeanPostProcessor processor) {
-        return processor.getEventBus();
+    public static EventBus eventBus() {
+        return new DefaultEventBus();
     }
 
     @Bean
-    public static ShiroEventBusBeanPostProcessor 
shiroEventBusAwareBeanPostProcessor() {
-        return new ShiroEventBusBeanPostProcessor(new DefaultEventBus());
+    public static ShiroEventBusBeanPostProcessor 
shiroEventBusAwareBeanPostProcessor(@Lazy EventBus eventBus) {
+        return new ShiroEventBusBeanPostProcessor(eventBus);
     }
 }
diff --git 
a/support/spring/src/main/java/org/apache/shiro/spring/web/ShiroFilterFactoryBeanPostProcessor.java
 
b/support/spring/src/main/java/org/apache/shiro/spring/web/ShiroFilterFactoryBeanPostProcessor.java
index f9eb2e76f..e6a6846bc 100644
--- 
a/support/spring/src/main/java/org/apache/shiro/spring/web/ShiroFilterFactoryBeanPostProcessor.java
+++ 
b/support/spring/src/main/java/org/apache/shiro/spring/web/ShiroFilterFactoryBeanPostProcessor.java
@@ -23,6 +23,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.core.PriorityOrdered;
 import java.util.Map;
 
 /**
@@ -33,7 +34,7 @@ import java.util.Map;
  *
  * @since 3.0.0
  */
-public class ShiroFilterFactoryBeanPostProcessor implements BeanPostProcessor {
+public class ShiroFilterFactoryBeanPostProcessor implements BeanPostProcessor, 
PriorityOrdered {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(ShiroFilterFactoryBeanPostProcessor.class);
 
     private final ShiroFilterFactoryBean shiroFilterFactoryBean;
@@ -67,4 +68,9 @@ public class ShiroFilterFactoryBeanPostProcessor implements 
BeanPostProcessor {
     public Object postProcessAfterInitialization(Object bean, String beanName) 
throws BeansException {
         return bean;
     }
+
+    @Override
+    public int getOrder() {
+        return LOWEST_PRECEDENCE;
+    }
 }
diff --git 
a/support/spring/src/main/java/org/apache/shiro/spring/web/config/ShiroWebFilterConfiguration.java
 
b/support/spring/src/main/java/org/apache/shiro/spring/web/config/ShiroWebFilterConfiguration.java
index fbe9e50f2..fb91f7014 100644
--- 
a/support/spring/src/main/java/org/apache/shiro/spring/web/config/ShiroWebFilterConfiguration.java
+++ 
b/support/spring/src/main/java/org/apache/shiro/spring/web/config/ShiroWebFilterConfiguration.java
@@ -22,6 +22,7 @@ import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
 import org.apache.shiro.spring.web.ShiroFilterFactoryBeanPostProcessor;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 
 import java.util.List;
 
@@ -37,8 +38,9 @@ public class ShiroWebFilterConfiguration extends 
AbstractShiroWebFilterConfigura
     }
 
     @Bean
-    static ShiroFilterFactoryBeanPostProcessor 
shiroFilterFactoryBeanPostProcessor(ShiroFilterFactoryBean factory) {
-        return new ShiroFilterFactoryBeanPostProcessor(factory);
+    static ShiroFilterFactoryBeanPostProcessor
+    shiroFilterFactoryBeanPostProcessor(@Lazy ShiroFilterFactoryBean 
shiroFilterFactoryBean) {
+        return new ShiroFilterFactoryBeanPostProcessor(shiroFilterFactoryBean);
     }
 
     @Bean(name = "globalFilters")
diff --git 
a/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroBeanConfigurationTest.groovy
 
b/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroBeanConfigurationTest.groovy
index af840bfc3..557888a43 100644
--- 
a/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroBeanConfigurationTest.groovy
+++ 
b/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroBeanConfigurationTest.groovy
@@ -22,6 +22,7 @@ import org.apache.shiro.event.EventBus
 import org.apache.shiro.spring.testconfig.EventBusConsumersTestConfiguration
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.extension.ExtendWith
+import org.springframework.aop.framework.Advised
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.test.context.junit.jupiter.SpringExtension
 import org.springframework.test.context.junit.jupiter.SpringJUnitConfig
@@ -52,7 +53,7 @@ public class ShiroBeanConfigurationTest {
         assertNotNull eventSubscriber
 
         assertTrue eventBus.registry.containsKey(eventSubscriber)
-        assertSame(eventBus, eventBusAwareObject.eventBus)
+        assertSame(eventBus, 
((Advised)eventBusAwareObject.eventBus).getTargetSource().getTarget())
 
     }
 
diff --git 
a/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroConfigurationTest.groovy
 
b/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroConfigurationTest.groovy
index a365cd194..f5f317ab7 100644
--- 
a/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroConfigurationTest.groovy
+++ 
b/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroConfigurationTest.groovy
@@ -18,6 +18,7 @@
  */
 package org.apache.shiro.spring.config
 
+import org.apache.shiro.SecurityUtils
 import org.apache.shiro.authc.UsernamePasswordToken
 import org.apache.shiro.authz.ModularRealmAuthorizer
 import org.apache.shiro.event.EventBus
@@ -28,6 +29,7 @@ import 
org.apache.shiro.spring.testconfig.RealmTestConfiguration
 import org.apache.shiro.subject.Subject
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.extension.ExtendWith
+import org.springframework.aop.framework.Advised
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.test.context.junit.jupiter.SpringExtension
 import org.springframework.test.context.junit.jupiter.SpringJUnitConfig
@@ -57,7 +59,8 @@ class ShiroConfigurationTest {
         assertThat securityManager.realms, allOf(hasSize(1), 
hasItem(instanceOf(TextConfigurationRealm)))
         assertNull securityManager.cacheManager
 
-        assertSame(((DefaultSecurityManager)securityManager).getEventBus(), 
eventBus)
+        
assertSame(((Advised)SecurityUtils.unwrapSecurityManager(securityManager, 
DefaultSecurityManager.class)
+                .getEventBus()).getTargetSource().getTarget(), eventBus)
 
         def defaultSecurityManager = (DefaultSecurityManager) securityManager
         def authorizer = (ModularRealmAuthorizer) 
defaultSecurityManager.getAuthorizer();
diff --git 
a/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroWebConfigurationTest.groovy
 
b/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroWebConfigurationTest.groovy
index 6a76fae2d..615983074 100644
--- 
a/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroWebConfigurationTest.groovy
+++ 
b/support/spring/src/test/groovy/org/apache/shiro/spring/config/ShiroWebConfigurationTest.groovy
@@ -18,6 +18,7 @@
  */
 package org.apache.shiro.spring.config
 
+import org.apache.shiro.SecurityUtils
 import org.apache.shiro.authc.UsernamePasswordToken
 import org.apache.shiro.authz.ModularRealmAuthorizer
 import org.apache.shiro.event.EventBus
@@ -31,6 +32,7 @@ import 
org.apache.shiro.spring.web.config.ShiroWebFilterConfiguration
 import org.apache.shiro.subject.Subject
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.extension.ExtendWith
+import org.springframework.aop.framework.Advised
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.test.context.junit.jupiter.SpringExtension
 import org.springframework.test.context.junit.jupiter.SpringJUnitConfig
@@ -67,7 +69,8 @@ class ShiroWebConfigurationTest {
         assertNotNull shiroFilterFactoryBean
         assertThat shiroFilterFactoryBean.filters, anEmptyMap()
 
-        assertSame(((DefaultSecurityManager)securityManager).getEventBus(), 
eventBus)
+        assertSame(((Advised) 
SecurityUtils.unwrapSecurityManager(securityManager, 
DefaultSecurityManager).getEventBus())
+                .getTargetSource().getTarget(), eventBus)
 
         def defaultSecurityManager = (DefaultSecurityManager) securityManager
         def authorizer = (ModularRealmAuthorizer) 
defaultSecurityManager.getAuthorizer();
diff --git a/web/pom.xml b/web/pom.xml
index 61fa434dc..d15a1c417 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -110,10 +110,6 @@
                     </instructions>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 

Reply via email to