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


The following commit(s) were added to refs/heads/3.x by this push:
     new e73cfc6e1 - updated dependencies - compilation and test cleanup
e73cfc6e1 is described below

commit e73cfc6e184d3c440ddd4e7ed67994b282507537
Author: lprimak <[email protected]>
AuthorDate: Mon Jan 19 15:47:43 2026 -0600

    - updated dependencies
    - compilation and test cleanup
---
 integration-tests/guice3/pom.xml                   |   4 +-
 integration-tests/guice4/pom.xml                   |   2 +-
 integration-tests/jakarta-ee/pom.xml               |  16 +--
 integration-tests/jaxrs/app/pom.xml                |  12 +-
 integration-tests/jaxrs/tests/pom.xml              |   8 +-
 integration-tests/meecrowave-support/pom.xml       |   8 +-
 integration-tests/pom.xml                          |   2 +-
 integration-tests/support/pom.xml                  |  12 +-
 lang/pom.xml                                       |   2 +-
 pom.xml                                            |  44 ++++---
 samples/guice/pom.xml                              |   2 +-
 samples/servlet-plugin/pom.xml                     |   2 +-
 samples/spring-boot-3-web/pom.xml                  |  10 +-
 samples/spring-boot-web/pom.xml                    |   6 +-
 samples/spring-hibernate/pom.xml                   |   6 +-
 samples/spring-mvc/pom.xml                         |   4 +-
 samples/spring/pom.xml                             |   2 +-
 samples/web-jakarta/pom.xml                        |  20 +--
 samples/web/pom.xml                                |   2 +-
 support/cdi/pom.xml                                |   9 +-
 support/features/pom.xml                           |   2 +-
 support/guice/pom.xml                              |  13 +-
 support/jakarta-ee/pom.xml                         |   2 +-
 .../org/apache/shiro/ee/cdi/ShiroScopeContext.java |   4 +-
 .../shiro/ee/filters/FormResubmitSupport.java      |   4 +-
 support/jaxrs/pom.xml                              |   4 +-
 support/spring-boot/pom.xml                        |   2 +-
 support/spring-boot/spring-boot-starter/pom.xml    |   6 +-
 .../spring-boot/spring-boot-web-starter/pom.xml    |   6 +-
 support/spring/pom.xml                             |   2 +-
 .../remoting/SecureRemoteInvocationExecutor.java   | 124 ------------------
 .../remoting/SecureRemoteInvocationFactory.java    | 144 ---------------------
 .../SecureRemoteInvocationFactoryTest.java         | 119 -----------------
 web/pom.xml                                        |   4 +-
 .../java/org/apache/shiro/web/util/CorsUtils.java  |   2 +-
 .../org/apache/shiro/web/util/CorsUtilsTest.java   |   2 +-
 36 files changed, 117 insertions(+), 496 deletions(-)

diff --git a/integration-tests/guice3/pom.xml b/integration-tests/guice3/pom.xml
index 24002730b..075e1d59a 100644
--- a/integration-tests/guice3/pom.xml
+++ b/integration-tests/guice3/pom.xml
@@ -32,7 +32,7 @@
     <packaging>war</packaging>
 
     <properties>
-        <guice.version>3.0</guice.version>
+        <guice.version>4.2.3</guice.version>
     </properties>
 
     <build>
@@ -59,7 +59,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
diff --git a/integration-tests/guice4/pom.xml b/integration-tests/guice4/pom.xml
index b853ae6b0..8eacc33de 100644
--- a/integration-tests/guice4/pom.xml
+++ b/integration-tests/guice4/pom.xml
@@ -68,7 +68,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
diff --git a/integration-tests/jakarta-ee/pom.xml 
b/integration-tests/jakarta-ee/pom.xml
index d036c911a..7c4da47f3 100644
--- a/integration-tests/jakarta-ee/pom.xml
+++ b/integration-tests/jakarta-ee/pom.xml
@@ -38,8 +38,8 @@
         
<maven.compiler.source>${maven.compiler.release}</maven.compiler.source>
         
<maven.compiler.target>${maven.compiler.release}</maven.compiler.target>
         <arquillian.core.version>1.10.0.Final</arquillian.core.version>
-        <arquillian.payara5.version>2.5</arquillian.payara5.version>
-        
<arquillian.graphene.version>3.0.0-alpha.4</arquillian.graphene.version>
+        <arquillian.payara5.version>3.1</arquillian.payara5.version>
+        
<arquillian.graphene.version>3.0.0-20250814</arquillian.graphene.version>
         <shrinkwrap.resolver.version>3.3.4</shrinkwrap.resolver.version>
         <drone.browser>firefox</drone.browser>
 
@@ -77,19 +77,19 @@
         <dependency>
             <groupId>jakarta.platform</groupId>
             <artifactId>jakarta.jakartaee-api</artifactId>
-            <version>10.0.0</version>
+            <version>11.0.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.activation</groupId>
             <artifactId>jakarta.activation-api</artifactId>
-            <version>2.1.3</version>
+            <version>2.1.4</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
-            <version>4.0.2</version>
+            <version>4.0.4</version>
             <scope>provided</scope>
         </dependency>
 
@@ -146,12 +146,12 @@
         <dependency>
             <groupId>com.flowlogix</groupId>
             <artifactId>flowlogix-jee</artifactId>
-            <version>5.5.6</version>
+            <version>11.1</version>
         </dependency>
     <dependency>
       <groupId>jakarta.ws.rs</groupId>
       <artifactId>jakarta.ws.rs-api</artifactId>
-      <version>3.1.0</version>
+      <version>4.0.0</version>
     </dependency>
 
         <!-- Arquillian test dependencies -->
@@ -222,7 +222,7 @@
         <dependency>
             <groupId>com.google.inject</groupId>
             <artifactId>guice</artifactId>
-            <version>6.0.0</version>
+            <version>7.0.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/integration-tests/jaxrs/app/pom.xml 
b/integration-tests/jaxrs/app/pom.xml
index 7183d9622..62a882ef1 100644
--- a/integration-tests/jaxrs/app/pom.xml
+++ b/integration-tests/jaxrs/app/pom.xml
@@ -36,7 +36,7 @@
 
     <properties>
         <failOnMissingWebXml>false</failOnMissingWebXml>
-        <jaxrs.api.version>3.1.0</jaxrs.api.version>
+        <jaxrs.api.version>4.0.0</jaxrs.api.version>
     </properties>
 
 
@@ -74,19 +74,19 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>6.0.0</version>
+            <version>6.1.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
-            <version>4.0.1</version>
+            <version>4.1.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.json.bind</groupId>
-            <artifactId>javax.json.bind-api</artifactId>
-            <version>1.0</version>
+            <groupId>jakarta.json.bind</groupId>
+            <artifactId>jakarta.json.bind-api</artifactId>
+            <version>3.0.1</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
diff --git a/integration-tests/jaxrs/tests/pom.xml 
b/integration-tests/jaxrs/tests/pom.xml
index 8b62a7998..15fc90a70 100644
--- a/integration-tests/jaxrs/tests/pom.xml
+++ b/integration-tests/jaxrs/tests/pom.xml
@@ -34,7 +34,7 @@
 
     <properties>
         <module.name>its.jaxrs.tests</module.name>
-        <jaxrs.api.version>3.0.0</jaxrs.api.version>
+        <jaxrs.api.version>4.0.0</jaxrs.api.version>
         <johnzon.version>2.0.2</johnzon.version>
     </properties>
 
@@ -67,19 +67,19 @@
         <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-rs-client</artifactId>
-            <version>3.6.7</version>
+            <version>4.1.4</version>
             <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
-            <version>4.0.2</version>
+            <version>4.0.4</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jaxb</groupId>
             <artifactId>jaxb-runtime</artifactId>
-            <version>3.0.2</version>
+            <version>4.0.6</version>
             <scope>runtime</scope>
         </dependency>
         <dependency>
diff --git a/integration-tests/meecrowave-support/pom.xml 
b/integration-tests/meecrowave-support/pom.xml
index 7c0392a6e..7ecd7b7a0 100644
--- a/integration-tests/meecrowave-support/pom.xml
+++ b/integration-tests/meecrowave-support/pom.xml
@@ -78,24 +78,24 @@
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-bom</artifactId>
-                <version>3.6.7</version>
+                <version>4.1.4</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.johnzon</groupId>
                 <artifactId>johnzon-jsonb</artifactId>
-                <version>1.2.21</version>
+                <version>2.0.2</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
                 <artifactId>tomcat-jaspic-api</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
                 <artifactId>tomcat-catalina</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 7753db32a..7e11302ad 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -36,7 +36,7 @@
 
     <properties>
         <japicmp.skip>true</japicmp.skip>
-        <dependency.meecrowave.version>1.2.15</dependency.meecrowave.version>
+        <dependency.meecrowave.version>2.0.0</dependency.meecrowave.version>
         <maven.deploy.skip>true</maven.deploy.skip>
         <nexus.deploy.skip>true</nexus.deploy.skip>
     </properties>
diff --git a/integration-tests/support/pom.xml 
b/integration-tests/support/pom.xml
index e6280dd46..b9c44edd3 100644
--- a/integration-tests/support/pom.xml
+++ b/integration-tests/support/pom.xml
@@ -48,7 +48,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
@@ -84,19 +84,19 @@
             <version>${jetty.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.jetty.ee9</groupId>
-            <artifactId>jetty-ee9-webapp</artifactId>
+            <groupId>org.eclipse.jetty.ee11</groupId>
+            <artifactId>jetty-ee11-webapp</artifactId>
             <version>${jetty.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.jetty.ee9</groupId>
-            <artifactId>jetty-ee9-apache-jsp</artifactId>
+            <groupId>org.eclipse.jetty.ee11</groupId>
+            <artifactId>jetty-ee11-apache-jsp</artifactId>
             <version>${jetty.version}</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>apache-jstl</artifactId>
-            <version>${jetty.version}</version>
+            <version>10.0.26</version>
             <type>pom</type>
         </dependency>
         <dependency>
diff --git a/lang/pom.xml b/lang/pom.xml
index 0393fe2f2..55939b582 100644
--- a/lang/pom.xml
+++ b/lang/pom.xml
@@ -60,7 +60,7 @@
             <groupId>jakarta.servlet.jsp</groupId>
             <artifactId>jakarta.servlet.jsp-api</artifactId>
             <optional>true</optional>
-      <version>3.0.0</version>
+      <version>4.0.0</version>
         </dependency>
     </dependencies>
 
diff --git a/pom.xml b/pom.xml
index 3a6cc0e29..d30c75501 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>35</version>
+        <version>37</version>
     </parent>
 
     <groupId>org.apache.shiro</groupId>
@@ -88,11 +88,11 @@
         <!-- Compile 3rd party dependencies: -->
         <!-- Don't change this version without also changing the shiro-aspect 
and shiro-features
              modules' OSGi metadata: -->
-        <aspectj.version>1.9.20.1</aspectj.version>
+        <aspectj.version>1.9.25.1</aspectj.version>
         <commons.beanutils.version>1.11.0</commons.beanutils.version>
-        <commons.cli.version>1.9.0</commons.cli.version>
+        <commons.cli.version>1.11.0</commons.cli.version>
         <commons.collection.version>3.2.2</commons.collection.version>
-        <commons.configuration2.version>2.12.0</commons.configuration2.version>
+        <commons.configuration2.version>2.13.0</commons.configuration2.version>
         <commons.lang3.version>3.20.0</commons.lang3.version>
         <commons.logging.version>1.3.5</commons.logging.version>
         <commons.text.version>1.8</commons.text.version>
@@ -100,12 +100,12 @@
              modules' OSGi metadata: -->
         <ehcache.version>2.6.11</ehcache.version>
         <!-- Don't change this version without also changing the 
shiro-hazelcast and shiro-features OSGi metadata: -->
-        <hazelcast.version>5.3.8</hazelcast.version>
+        <hazelcast.version>5.6.0</hazelcast.version>
         <hsqldb.version>2.7.4</hsqldb.version>
         <jakarta.annotation.api.version>3.0.0</jakarta.annotation.api.version>
         <jcache.api.version>1.1.1</jcache.api.version>
-        <jdk.version>11</jdk.version>
-        <jetty.version>9.4.58.v20250814</jetty.version>
+        <jdk.version>17</jdk.version>
+        <jetty.version>12.1.5</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
              modules' OSGi metadata: -->
@@ -113,24 +113,23 @@
         <quartz.docs.version>2.3.0</quartz.docs.version>
         <slf4j.version>2.0.17</slf4j.version>
         <log4j.version>2.25.3</log4j.version>
-        <spring.version>5.3.39</spring.version>
-        <spring-boot.version>2.7.18</spring-boot.version>
-        <guice.version>4.2.3</guice.version>
-        <jaxrs.api.version>3.1.0</jaxrs.api.version>
+        <spring.version>7.0.3</spring.version>
+        <spring-boot.version>4.0.1</spring-boot.version>
+        <guice.version>7.0.0</guice.version>
+        <jaxrs.api.version>4.0.0</jaxrs.api.version>
         <htmlunit.version>4.17.0</htmlunit.version>
-        <jaxrs.api.version>2.1.6</jaxrs.api.version>
         <htmlunit.version>4.21.0</htmlunit.version>
-        <bouncycastle.version>1.82</bouncycastle.version>
+        <bouncycastle.version>1.83</bouncycastle.version>
 
         <!-- Test 3rd-party dependencies: -->
         <easymock.version>5.6.0</easymock.version>
         <mockito.version>5.21.0</mockito.version>
-        <bytebuddy.version>1.18.3</bytebuddy.version>
+        <bytebuddy.version>1.18.4</bytebuddy.version>
         <gmaven.version>4.2.1</gmaven.version>
-        <groovy.version>4.0.27</groovy.version>
-        <junit.version>5.13.4</junit.version>
+        <groovy.version>5.0.3</groovy.version>
+        <junit.version>6.0.2</junit.version>
         <junit.server.jetty.version>3.4.0</junit.server.jetty.version>
-        <hibernate.version>5.6.15.Final</hibernate.version>
+        <hibernate.version>7.2.1.Final</hibernate.version>
         <taglibs.standard.version>1.2.5</taglibs.standard.version>
         <jakarta.annotations.version>2.1.1</jakarta.annotations.version>
         <lombok.version>1.18.42</lombok.version>
@@ -375,6 +374,9 @@
                     <groupId>org.codehaus.gmavenplus</groupId>
                     <artifactId>gmavenplus-plugin</artifactId>
                     <version>${gmaven.version}</version>
+                    <configuration>
+                        <targetBytecode>${jdk.version}</targetBytecode>
+                    </configuration>
                     <dependencies>
                         <dependency>
                             <groupId>org.apache.groovy</groupId>
@@ -1138,12 +1140,12 @@
             <dependency>
                 <groupId>ch.qos.logback</groupId>
                 <artifactId>logback-core</artifactId>
-                <version>1.5.24</version>
+                <version>1.5.25</version>
             </dependency>
             <dependency>
                 <groupId>ch.qos.logback</groupId>
                 <artifactId>logback-classic</artifactId>
-                <version>1.5.24</version>
+                <version>1.5.25</version>
             </dependency>
 
             <dependency>
@@ -1200,7 +1202,7 @@
             <dependency>
                 <groupId>jakarta.servlet.jsp</groupId>
                 <artifactId>jakarta.servlet.jsp-api</artifactId>
-                <version>3.0.0</version>
+                <version>4.0.0</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
@@ -1218,7 +1220,7 @@
             <dependency>
                 <groupId>jakarta.servlet</groupId>
                 <artifactId>jakarta.servlet-api</artifactId>
-                <version>5.0.0</version>
+                <version>6.1.0</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
diff --git a/samples/guice/pom.xml b/samples/guice/pom.xml
index 361a79b3b..c912671df 100644
--- a/samples/guice/pom.xml
+++ b/samples/guice/pom.xml
@@ -54,7 +54,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
diff --git a/samples/servlet-plugin/pom.xml b/samples/servlet-plugin/pom.xml
index 1c63f6fb4..0f6028b94 100644
--- a/samples/servlet-plugin/pom.xml
+++ b/samples/servlet-plugin/pom.xml
@@ -99,7 +99,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <!-- Required for any libraries that expect to call the commons 
logging APIs -->
diff --git a/samples/spring-boot-3-web/pom.xml 
b/samples/spring-boot-3-web/pom.xml
index dcc11ea85..69d640939 100644
--- a/samples/spring-boot-3-web/pom.xml
+++ b/samples/spring-boot-3-web/pom.xml
@@ -35,9 +35,9 @@
 
     <properties>
         <module.name>samples.spring.boot3.web</module.name>
-        <spring-boot3.version>3.5.0</spring-boot3.version>
+        <spring-boot3.version>4.0.1</spring-boot3.version>
         <!--    below versions are not necessary in "real" applications -->
-        <spring.version>6.2.8</spring.version>
+        <spring.version>7.0.3</spring.version>
     </properties>
 
     <dependencies>
@@ -130,17 +130,17 @@
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>10.1.49</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>10.1.49</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>10.1.49</version>
+                <version>11.0.15</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/samples/spring-boot-web/pom.xml b/samples/spring-boot-web/pom.xml
index 7ec970aeb..7bb377100 100644
--- a/samples/spring-boot-web/pom.xml
+++ b/samples/spring-boot-web/pom.xml
@@ -100,17 +100,17 @@
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/samples/spring-hibernate/pom.xml b/samples/spring-hibernate/pom.xml
index 162eb4a91..0af213a0e 100644
--- a/samples/spring-hibernate/pom.xml
+++ b/samples/spring-hibernate/pom.xml
@@ -64,7 +64,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.hibernate</groupId>
@@ -115,8 +115,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.jetty.ee9</groupId>
-            <artifactId>jetty-ee9-apache-jsp</artifactId>
+            <groupId>org.eclipse.jetty.ee11</groupId>
+            <artifactId>jetty-ee11-apache-jsp</artifactId>
             <version>${jetty.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/samples/spring-mvc/pom.xml b/samples/spring-mvc/pom.xml
index 3969d59ba..7f9af5f7b 100644
--- a/samples/spring-mvc/pom.xml
+++ b/samples/spring-mvc/pom.xml
@@ -67,7 +67,7 @@
         <dependency>
             <groupId>jakarta.annotation</groupId>
             <artifactId>jakarta.annotation-api</artifactId>
-      <version>2.1.1</version>
+      <version>3.0.0</version>
         </dependency>
         <dependency>
             <groupId>net.sf.ehcache</groupId>
@@ -86,7 +86,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>6.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/samples/spring/pom.xml b/samples/spring/pom.xml
index bd7dab2fb..6e9c2a6a2 100644
--- a/samples/spring/pom.xml
+++ b/samples/spring/pom.xml
@@ -49,7 +49,7 @@
         <dependency>
             <groupId>jakarta.annotation</groupId>
             <artifactId>jakarta.annotation-api</artifactId>
-      <version>2.1.1</version>
+      <version>3.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/samples/web-jakarta/pom.xml b/samples/web-jakarta/pom.xml
index 9c9eae517..266ed9595 100644
--- a/samples/web-jakarta/pom.xml
+++ b/samples/web-jakarta/pom.xml
@@ -32,8 +32,8 @@
     <packaging>war</packaging>
 
     <properties>
-        <meecrowave.version>1.2.15</meecrowave.version>
-        <tomcat.version>10.1.49</tomcat.version>
+        <meecrowave.version>2.0.0</meecrowave.version>
+        <tomcat.version>11.0.15</tomcat.version>
         <jacoco.skip>true</jacoco.skip>
     </properties>
 
@@ -49,39 +49,39 @@
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-bom</artifactId>
-                <version>3.6.7</version>
+                <version>4.1.4</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.johnzon</groupId>
                 <artifactId>johnzon-jsonb</artifactId>
-                <version>1.2.21</version>
+                <version>2.0.2</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
                 <artifactId>tomcat-jaspic-api</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
                 <artifactId>tomcat-catalina</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
@@ -121,7 +121,7 @@
         <dependency>
             <groupId>jakarta.servlet.jsp</groupId>
             <artifactId>jakarta.servlet.jsp-api</artifactId>
-            <version>3.1.1</version>
+            <version>4.0.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/samples/web/pom.xml b/samples/web/pom.xml
index 2044e4ac8..14873ba96 100644
--- a/samples/web/pom.xml
+++ b/samples/web/pom.xml
@@ -76,7 +76,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>5.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
diff --git a/support/cdi/pom.xml b/support/cdi/pom.xml
index 40b8199df..c8ad13003 100644
--- a/support/cdi/pom.xml
+++ b/support/cdi/pom.xml
@@ -38,10 +38,15 @@
         <dependency>
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
-            <version>4.0.1</version>
+            <version>4.1.0</version>
             <scope>provided</scope>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>jakarta.ejb</groupId>
+            <artifactId>jakarta.ejb-api</artifactId>
+            <version>4.0.1</version>
+        </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
@@ -59,7 +64,7 @@
         <dependency>
             <groupId>jakarta.validation</groupId>
             <artifactId>jakarta.validation-api</artifactId>
-            <version>3.0.2</version>
+            <version>3.1.1</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/support/features/pom.xml b/support/features/pom.xml
index 083f47b95..4d3dac8e0 100644
--- a/support/features/pom.xml
+++ b/support/features/pom.xml
@@ -40,7 +40,7 @@
         <!-- Not a Shiro dependency - used for quartz bundle resolution only 
(see features.xml): -->
         <commons.collections.version>3.2.2</commons.collections.version>
         <!-- karaf plugin version -->
-        <karaf.version>4.4.7</karaf.version>
+        <karaf.version>4.4.9</karaf.version>
     </properties>
 
     <dependencies>
diff --git a/support/guice/pom.xml b/support/guice/pom.xml
index 4de4586bf..0217083de 100644
--- a/support/guice/pom.xml
+++ b/support/guice/pom.xml
@@ -50,15 +50,16 @@
         <dependency>
             <groupId>jakarta.annotation</groupId>
             <artifactId>jakarta.annotation-api</artifactId>
-      <version>2.1.1</version>
+            <version>3.0.0</version>
         </dependency>
         <dependency>
-            <groupId>com.google.inject</groupId>
-            <artifactId>guice</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
+            <version>2.0.1</version>
         </dependency>
         <dependency>
-            <groupId>com.google.inject.extensions</groupId>
-            <artifactId>guice-multibindings</artifactId>
+            <groupId>com.google.inject</groupId>
+            <artifactId>guice</artifactId>
         </dependency>
         <dependency>
             <groupId>com.google.inject.extensions</groupId>
@@ -73,7 +74,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>6.0.0</version>
+            <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/support/jakarta-ee/pom.xml b/support/jakarta-ee/pom.xml
index 4ca71f294..ca9a7b154 100644
--- a/support/jakarta-ee/pom.xml
+++ b/support/jakarta-ee/pom.xml
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>jakarta.platform</groupId>
             <artifactId>jakarta.jakartaee-api</artifactId>
-            <version>10.0.0</version>
+            <version>11.0.0</version>
             <scope>provided</scope>
             <optional>true</optional>
         </dependency>
diff --git 
a/support/jakarta-ee/src/main/java/org/apache/shiro/ee/cdi/ShiroScopeContext.java
 
b/support/jakarta-ee/src/main/java/org/apache/shiro/ee/cdi/ShiroScopeContext.java
index ef9236b25..540cf64fb 100644
--- 
a/support/jakarta-ee/src/main/java/org/apache/shiro/ee/cdi/ShiroScopeContext.java
+++ 
b/support/jakarta-ee/src/main/java/org/apache/shiro/ee/cdi/ShiroScopeContext.java
@@ -62,10 +62,10 @@ public class ShiroScopeContext implements Context, 
Serializable {
         } else {
             synchronized (contextual) {
                 if (isViewScoped) {
-                    return 
Beans.getReference(ViewScopeManager.class).createBean(contextual, 
creationalContext);
+                    return 
Beans.getReference(ViewScopeManager.class).getBean(contextual, 
creationalContext);
                 } else {
                     return 
getBeanStorage(SecurityUtils.getSubject().getSession())
-                            .createBean(contextual, creationalContext);
+                            .getBean(contextual, creationalContext);
                 }
             }
         }
diff --git 
a/support/jakarta-ee/src/main/java/org/apache/shiro/ee/filters/FormResubmitSupport.java
 
b/support/jakarta-ee/src/main/java/org/apache/shiro/ee/filters/FormResubmitSupport.java
index 1ca95f1a5..c5ac9e1bc 100644
--- 
a/support/jakarta-ee/src/main/java/org/apache/shiro/ee/filters/FormResubmitSupport.java
+++ 
b/support/jakarta-ee/src/main/java/org/apache/shiro/ee/filters/FormResubmitSupport.java
@@ -13,6 +13,8 @@
  */
 package org.apache.shiro.ee.filters;
 
+import static 
jakarta.faces.application.StateManager.STATE_SAVING_METHOD_CLIENT;
+import static 
jakarta.faces.application.StateManager.STATE_SAVING_METHOD_PARAM_NAME;
 import static org.apache.shiro.SecurityUtils.getSecurityManager;
 import static org.apache.shiro.SecurityUtils.isSecurityManagerTypeOf;
 import static org.apache.shiro.SecurityUtils.unwrapSecurityManager;
@@ -52,8 +54,6 @@ import java.util.UUID;
 import static java.util.function.Predicate.not;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
-import static 
jakarta.faces.view.StateManagementStrategy.STATE_SAVING_METHOD_CLIENT;
-import static 
jakarta.faces.view.StateManagementStrategy.STATE_SAVING_METHOD_PARAM_NAME;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.http.Cookie;
diff --git a/support/jaxrs/pom.xml b/support/jaxrs/pom.xml
index 24755a415..0acf9a49a 100644
--- a/support/jaxrs/pom.xml
+++ b/support/jaxrs/pom.xml
@@ -63,7 +63,7 @@
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
-            <version>4.0.2</version>
+            <version>4.0.4</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -74,7 +74,7 @@
         <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-            <version>3.6.7</version>
+            <version>4.1.4</version>
             <scope>test</scope>
             <exclusions>
                 <exclusion>
diff --git a/support/spring-boot/pom.xml b/support/spring-boot/pom.xml
index 0a4619e0e..e7e8c8060 100644
--- a/support/spring-boot/pom.xml
+++ b/support/spring-boot/pom.xml
@@ -37,7 +37,7 @@
     </modules>
 
     <properties>
-        <junit.engine.version>1.13.4</junit.engine.version>
+        <junit.engine.version>6.0.2</junit.engine.version>
     </properties>
 
     <dependencies>
diff --git a/support/spring-boot/spring-boot-starter/pom.xml 
b/support/spring-boot/spring-boot-starter/pom.xml
index 35216cabf..118044fd9 100644
--- a/support/spring-boot/spring-boot-starter/pom.xml
+++ b/support/spring-boot/spring-boot-starter/pom.xml
@@ -109,17 +109,17 @@
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/support/spring-boot/spring-boot-web-starter/pom.xml 
b/support/spring-boot/spring-boot-web-starter/pom.xml
index 2afa36924..232a44d52 100644
--- a/support/spring-boot/spring-boot-web-starter/pom.xml
+++ b/support/spring-boot/spring-boot-web-starter/pom.xml
@@ -86,17 +86,17 @@
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-core</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-el</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tomcat.embed</groupId>
                 <artifactId>tomcat-embed-websocket</artifactId>
-                <version>9.0.112</version>
+                <version>11.0.15</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/support/spring/pom.xml b/support/spring/pom.xml
index cbe77f603..4d82151a1 100644
--- a/support/spring/pom.xml
+++ b/support/spring/pom.xml
@@ -48,7 +48,7 @@
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <scope>provided</scope>
-      <version>6.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
diff --git 
a/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor.java
 
b/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor.java
deleted file mode 100644
index 9d77fb255..000000000
--- 
a/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.shiro.spring.remoting;
-
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.mgt.SecurityManager;
-import org.apache.shiro.subject.ExecutionException;
-import org.apache.shiro.subject.Subject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.remoting.support.DefaultRemoteInvocationExecutor;
-import org.springframework.remoting.support.RemoteInvocation;
-
-import java.io.Serializable;
-import java.lang.reflect.InvocationTargetException;
-import java.util.concurrent.Callable;
-
-
-/**
- * An implementation of the Spring {@link 
org.springframework.remoting.support.RemoteInvocationExecutor}
- * that binds a {@code sessionId} to the incoming thread to make it available 
to the {@code SecurityManager}
- * implementation during the thread execution.  The {@code SecurityManager} 
implementation can use this sessionId
- * to reconstitute the {@code Subject} instance based on persistent state in 
the corresponding {@code Session}.
- *
- * @since 0.1
- */
-public class SecureRemoteInvocationExecutor extends 
DefaultRemoteInvocationExecutor {
-
-    //TODO - complete JavaDoc
-
-    /*--------------------------------------------
-    |             C O N S T A N T S             |
-    ============================================*/
-
-    /*--------------------------------------------
-    |    I N S T A N C E   V A R I A B L E S    |
-    ============================================*/
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(SecureRemoteInvocationExecutor.class);
-
-    /**
-     * The SecurityManager used to retrieve realms that should be associated 
with the
-     * created <tt>Subject</tt>s upon remote invocation.
-     */
-    private SecurityManager securityManager;
-
-    /*--------------------------------------------
-    |         C O N S T R U C T O R S           |
-    ============================================*/
-
-    /*--------------------------------------------
-    |  A C C E S S O R S / M O D I F I E R S    |
-    ============================================*/
-
-    public void setSecurityManager(org.apache.shiro.mgt.SecurityManager 
securityManager) {
-        this.securityManager = securityManager;
-    }
-
-    /*--------------------------------------------
-    |               M E T H O D S               |
-    ============================================*/
-    @SuppressWarnings({"unchecked"})
-    public Object invoke(final RemoteInvocation invocation, final Object 
targetObject)
-            throws NoSuchMethodException, IllegalAccessException, 
InvocationTargetException {
-
-        try {
-            SecurityManager securityManager =
-                    this.securityManager != null ? this.securityManager : 
SecurityUtils.getSecurityManager();
-
-            Subject.Builder builder = new Subject.Builder(securityManager);
-
-            String host = (String) 
invocation.getAttribute(SecureRemoteInvocationFactory.HOST_KEY);
-            if (host != null) {
-                builder.host(host);
-            }
-
-            Serializable sessionId = 
invocation.getAttribute(SecureRemoteInvocationFactory.SESSION_ID_KEY);
-            if (sessionId != null) {
-                builder.sessionId(sessionId);
-            } else {
-                if (LOGGER.isTraceEnabled()) {
-                    LOGGER.trace("RemoteInvocation did not contain a Shiro 
Session id attribute under "
-                            + "key [" + 
SecureRemoteInvocationFactory.SESSION_ID_KEY + "].  A Subject based "
-                            + "on an existing Session will not be available 
during the method invocation.");
-                }
-            }
-
-            Subject subject = builder.buildSubject();
-            return subject.execute(new Callable() {
-                public Object call() throws Exception {
-                    return 
SecureRemoteInvocationExecutor.super.invoke(invocation, targetObject);
-                }
-            });
-        } catch (ExecutionException e) {
-            Throwable cause = e.getCause();
-            if (cause instanceof NoSuchMethodException) {
-                throw (NoSuchMethodException) cause;
-            } else if (cause instanceof IllegalAccessException) {
-                throw (IllegalAccessException) cause;
-            } else if (cause instanceof InvocationTargetException) {
-                throw (InvocationTargetException) cause;
-            } else {
-                throw new InvocationTargetException(cause);
-            }
-        } catch (Throwable t) {
-            throw new InvocationTargetException(t);
-        }
-    }
-}
diff --git 
a/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactory.java
 
b/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactory.java
deleted file mode 100644
index 01de9e9d9..000000000
--- 
a/support/spring/src/main/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactory.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.shiro.spring.remoting;
-
-import org.aopalliance.intercept.MethodInvocation;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.session.Session;
-import org.apache.shiro.session.mgt.NativeSessionManager;
-import org.apache.shiro.session.mgt.SessionKey;
-import org.apache.shiro.session.mgt.SessionManager;
-import org.apache.shiro.subject.Subject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.remoting.support.DefaultRemoteInvocationFactory;
-import org.springframework.remoting.support.RemoteInvocation;
-import org.springframework.remoting.support.RemoteInvocationFactory;
-
-import java.io.Serializable;
-
-/**
- * A {@link RemoteInvocationFactory} that passes the session ID to the server 
via a
- * {@link RemoteInvocation} {@link RemoteInvocation#getAttribute(String) 
attribute}.
- * This factory is the client-side part of
- * the Shiro Spring remoting invocation.  A {@link 
SecureRemoteInvocationExecutor} should
- * be used to export the server-side remote services to ensure that the 
appropriate
- * Subject and Session are bound to the remote thread during execution.
- *
- * @since 0.1
- */
-public class SecureRemoteInvocationFactory extends 
DefaultRemoteInvocationFactory {
-
-    /**
-     * session id key.
-     */
-    public static final String SESSION_ID_KEY = 
SecureRemoteInvocationFactory.class.getName() + ".SESSION_ID_KEY";
-
-    /**
-     * host key.
-     */
-    public static final String HOST_KEY = 
SecureRemoteInvocationFactory.class.getName() + ".HOST_KEY";
-
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(SecureRemoteInvocationFactory.class);
-    private static final String SESSION_ID_SYSTEM_PROPERTY_NAME = 
"shiro.session.id";
-
-    private String sessionId;
-
-    public SecureRemoteInvocationFactory() {
-    }
-
-    public SecureRemoteInvocationFactory(String sessionId) {
-        this();
-        this.sessionId = sessionId;
-    }
-
-    /**
-     * Creates a {@link RemoteInvocation} with the current session ID as an
-     * {@link RemoteInvocation#getAttribute(String) attribute}.
-     *
-     * @param mi the method invocation that the remote invocation should be 
based on.
-     * @return a remote invocation object containing the current session ID as 
an attribute.
-     */
-    @SuppressWarnings({"checkstyle:CyclomaticComplexity", 
"checkstyle:NPathComplexity"})
-    public RemoteInvocation createRemoteInvocation(MethodInvocation mi) {
-
-        Serializable sessionId = null;
-        String host = null;
-        boolean sessionManagerMethodInvocation = false;
-
-        //If the calling MI is for a remoting SessionManager delegate, we need 
to acquire the session ID from the method
-        //argument and NOT interact with SecurityUtils/subject.getSession to 
avoid a stack overflow
-        Class miDeclaringClass = mi.getMethod().getDeclaringClass();
-        if (SessionManager.class.equals(miDeclaringClass) || 
NativeSessionManager.class.equals(miDeclaringClass)) {
-            sessionManagerMethodInvocation = true;
-            //for SessionManager calls, all method calls except the 'start' 
methods require a SessionKey
-            // as the first argument, so just get it from there:
-            if (!mi.getMethod().getName().equals("start")) {
-                SessionKey key = (SessionKey) mi.getArguments()[0];
-                sessionId = key.getSessionId();
-            }
-        }
-
-        //tried the delegate. Use the injected session id if given
-        if (sessionId == null) {
-            sessionId = this.sessionId;
-        }
-
-        // If sessionId is null, only then try the Subject:
-        if (sessionId == null) {
-            try {
-                // HACK Check if can get the securityManager - this'll cause 
an exception if it's not set
-                SecurityUtils.getSecurityManager();
-                if (!sessionManagerMethodInvocation) {
-                    Subject subject = SecurityUtils.getSubject();
-                    Session session = subject.getSession(false);
-                    if (session != null) {
-                        sessionId = session.getId();
-                        host = session.getHost();
-                    }
-                }
-            } catch (Exception e) {
-                LOGGER.trace("No security manager set. Trying next to get 
session id from system property");
-            }
-        }
-        //No call to the sessionManager, and the Subject doesn't have a 
session.  Try a system property
-        //as a last result:
-        if (sessionId == null) {
-            if (LOGGER.isTraceEnabled()) {
-                LOGGER.trace("No Session found for the currently executing 
subject via subject.getSession(false).  "
-                        + "Attempting to revert back to the 'shiro.session.id' 
system property...");
-            }
-            sessionId = System.getProperty(SESSION_ID_SYSTEM_PROPERTY_NAME);
-            if (sessionId == null && LOGGER.isTraceEnabled()) {
-                LOGGER.trace("No 'shiro.session.id' system property found.  
Heuristics have been exhausted; "
-                        + "RemoteInvocation will not contain a sessionId.");
-            }
-        }
-
-        RemoteInvocation ri = new RemoteInvocation(mi);
-        if (sessionId != null) {
-            ri.addAttribute(SESSION_ID_KEY, sessionId);
-        }
-        if (host != null) {
-            ri.addAttribute(HOST_KEY, host);
-        }
-
-        return ri;
-    }
-}
diff --git 
a/support/spring/src/test/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactoryTest.java
 
b/support/spring/src/test/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactoryTest.java
deleted file mode 100644
index e06d83ab4..000000000
--- 
a/support/spring/src/test/java/org/apache/shiro/spring/remoting/SecureRemoteInvocationFactoryTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.shiro.spring.remoting;
-
-import org.aopalliance.intercept.MethodInvocation;
-import org.apache.shiro.session.mgt.DefaultSessionKey;
-import org.apache.shiro.session.mgt.SessionKey;
-import org.apache.shiro.session.mgt.SessionManager;
-import org.apache.shiro.util.ThreadContext;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.remoting.support.RemoteInvocation;
-
-import java.lang.reflect.Method;
-import java.util.UUID;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-/**
- * //TODO - Class JavaDoc!
- */
-public class SecureRemoteInvocationFactoryTest {
-
-    @BeforeEach
-    public void setup() {
-        ThreadContext.remove();
-    }
-
-    @AfterEach
-    public void tearDown() {
-        ThreadContext.remove();
-    }
-
-    protected Method getMethod(String name, Class clazz) {
-        Method[] methods = clazz.getMethods();
-        for (Method method : methods) {
-            if (method.getName().equals(name)) {
-                return method;
-            }
-        }
-        throw new IllegalStateException("'" + name + "' method should exist.");
-    }
-
-    @Test
-    void testSessionManagerProxyStartRemoteInvocation() throws Exception {
-
-        SecureRemoteInvocationFactory factory = new 
SecureRemoteInvocationFactory();
-
-        MethodInvocation mi = createMock(MethodInvocation.class);
-        Method startMethod = getMethod("start", SessionManager.class);
-        expect(mi.getMethod()).andReturn(startMethod).anyTimes();
-
-        Object[] args = {"localhost"};
-        expect(mi.getArguments()).andReturn(args).anyTimes();
-
-        replay(mi);
-
-        RemoteInvocation ri = factory.createRemoteInvocation(mi);
-
-        verify(mi);
-
-        
assertThat(ri.getAttribute(SecureRemoteInvocationFactory.SESSION_ID_KEY)).isNull();
-    }
-
-    @Test
-    void testSessionManagerProxyNonStartRemoteInvocation() throws Exception {
-
-        SecureRemoteInvocationFactory factory = new 
SecureRemoteInvocationFactory();
-
-        MethodInvocation mi = createMock(MethodInvocation.class);
-        Method method = getMethod("getSession", SessionManager.class);
-        expect(mi.getMethod()).andReturn(method).anyTimes();
-
-        String dummySessionId = UUID.randomUUID().toString();
-        SessionKey sessionKey = new DefaultSessionKey(dummySessionId);
-        Object[] args = {sessionKey};
-        expect(mi.getArguments()).andReturn(args).anyTimes();
-
-        replay(mi);
-
-        RemoteInvocation ri = factory.createRemoteInvocation(mi);
-
-        verify(mi);
-
-        
assertThat(ri.getAttribute(SecureRemoteInvocationFactory.SESSION_ID_KEY)).isEqualTo(dummySessionId);
-    }
-
-    /*@Test
-    public void testNonSessionManagerCall() throws Exception {
-
-        SecureRemoteInvocationFactory factory = new 
SecureRemoteInvocationFactory();
-
-        MethodInvocation mi = createMock(MethodInvocation.class);
-        Method method = getMethod("login", SecurityManager.class);
-        expect(mi.getMethod()).andReturn(method).anyTimes();
-    }*/
-
-}
diff --git a/web/pom.xml b/web/pom.xml
index d6ef0f869..39b31b2df 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -43,7 +43,7 @@
         <dependency>
             <groupId>jakarta.servlet.jsp</groupId>
             <artifactId>jakarta.servlet.jsp-api</artifactId>
-      <version>3.0.0</version>
+      <version>4.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.taglibs</groupId>
@@ -56,7 +56,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-      <version>6.0.0</version>
+      <version>6.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.owasp.encoder</groupId>
diff --git a/web/src/main/java/org/apache/shiro/web/util/CorsUtils.java 
b/web/src/main/java/org/apache/shiro/web/util/CorsUtils.java
index 94ad49dd9..d72fc8367 100644
--- a/web/src/main/java/org/apache/shiro/web/util/CorsUtils.java
+++ b/web/src/main/java/org/apache/shiro/web/util/CorsUtils.java
@@ -20,7 +20,7 @@ package org.apache.shiro.web.util;
 
 import org.apache.shiro.lang.util.StringUtils;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 /**
  * Utility class for CORS request handling based on the W3.
diff --git a/web/src/test/java/org/apache/shiro/web/util/CorsUtilsTest.java 
b/web/src/test/java/org/apache/shiro/web/util/CorsUtilsTest.java
index fae30f01d..2508d2eb3 100644
--- a/web/src/test/java/org/apache/shiro/web/util/CorsUtilsTest.java
+++ b/web/src/test/java/org/apache/shiro/web/util/CorsUtilsTest.java
@@ -20,7 +20,7 @@ package org.apache.shiro.web.util;
 
 import org.junit.jupiter.api.Test;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;

Reply via email to