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

ahuber pushed a commit to branch spring6
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a4f6fbbcf98ad0e5956113bc31cabd5fffcdc605
Author: Andi Huber <[email protected]>
AuthorDate: Sun Nov 13 10:50:29 2022 +0100

    ISIS-3275: migrate security implementations
---
 security/bypass/src/main/java/module-info.java     |  4 +-
 .../bypass/authentication/AuthenticatorBypass.java |  4 +-
 .../bypass/authorization/AuthorizorBypass.java     |  4 +-
 .../keycloak/CausewayModuleSecurityKeycloak.java   | 40 +++++++-------
 .../shiro/authentication/AuthenticatorShiro.java   |  6 +--
 .../shiro/authorization/AuthorizorShiro.java       |  4 +-
 .../security/shiro/webmodule/WebModuleShiro.java   | 62 +++++++++-------------
 security/spring/src/main/java/module-info.java     |  5 +-
 .../spring/CausewayModuleSecuritySpring.java       |  6 +--
 .../authconverters/AuthenticationConverter.java    |  2 +-
 ...nticationConverterOfAuthenticatedPrincipal.java |  2 +-
 .../AuthenticationConverterOfStringPrincipal.java  |  2 +-
 ...henticationConverterOfUserDetailsPrincipal.java |  2 +-
 .../spring/authentication/AuthenticatorSpring.java |  6 +--
 .../spring/webmodule/SpringSecurityFilter.java     | 14 ++---
 .../spring/webmodule/WebModuleSpringSecurity.java  | 12 ++---
 16 files changed, 81 insertions(+), 94 deletions(-)

diff --git a/security/bypass/src/main/java/module-info.java 
b/security/bypass/src/main/java/module-info.java
index ad7278caf9..1d110c679c 100644
--- a/security/bypass/src/main/java/module-info.java
+++ b/security/bypass/src/main/java/module-info.java
@@ -24,8 +24,8 @@ module org.apache.causeway.security.bypass {
     requires org.apache.causeway.applib;
     requires org.apache.causeway.security.api;
     requires org.apache.causeway.core.runtimeservices;
-    requires java.annotation;
-    requires java.inject;
+    requires jakarta.annotation;
+    requires jakarta.inject;
     requires spring.beans;
     requires spring.context;
 }
\ No newline at end of file
diff --git 
a/security/bypass/src/main/java/org/apache/causeway/security/bypass/authentication/AuthenticatorBypass.java
 
b/security/bypass/src/main/java/org/apache/causeway/security/bypass/authentication/AuthenticatorBypass.java
index e5eef6cbdb..e8256f3b8e 100644
--- 
a/security/bypass/src/main/java/org/apache/causeway/security/bypass/authentication/AuthenticatorBypass.java
+++ 
b/security/bypass/src/main/java/org/apache/causeway/security/bypass/authentication/AuthenticatorBypass.java
@@ -18,7 +18,7 @@
  */
 package org.apache.causeway.security.bypass.authentication;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
@@ -34,7 +34,7 @@ import 
org.apache.causeway.core.security.authentication.standard.AuthenticatorAb
  */
 @Service
 @Named("causeway.security.AuthenticatorBypass")
[email protected](PriorityPrecedence.LATE)
[email protected](PriorityPrecedence.LATE)
 @Qualifier("Bypass")
 public class AuthenticatorBypass extends AuthenticatorAbstract {
 
diff --git 
a/security/bypass/src/main/java/org/apache/causeway/security/bypass/authorization/AuthorizorBypass.java
 
b/security/bypass/src/main/java/org/apache/causeway/security/bypass/authorization/AuthorizorBypass.java
index f870300247..712ae37c96 100644
--- 
a/security/bypass/src/main/java/org/apache/causeway/security/bypass/authorization/AuthorizorBypass.java
+++ 
b/security/bypass/src/main/java/org/apache/causeway/security/bypass/authorization/AuthorizorBypass.java
@@ -18,7 +18,7 @@
  */
 package org.apache.causeway.security.bypass.authorization;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
@@ -33,7 +33,7 @@ import 
org.apache.causeway.core.security.authorization.Authorizor;
  */
 @Service
 @Named("causeway.security.AuthorizorBypass")
[email protected](PriorityPrecedence.LATE)
[email protected](PriorityPrecedence.LATE)
 @Qualifier("Bypass")
 public class AuthorizorBypass implements Authorizor {
 
diff --git 
a/security/keycloak/src/main/java/org/apache/causeway/security/keycloak/CausewayModuleSecurityKeycloak.java
 
b/security/keycloak/src/main/java/org/apache/causeway/security/keycloak/CausewayModuleSecurityKeycloak.java
index 04e2ee40c0..ee28149955 100644
--- 
a/security/keycloak/src/main/java/org/apache/causeway/security/keycloak/CausewayModuleSecurityKeycloak.java
+++ 
b/security/keycloak/src/main/java/org/apache/causeway/security/keycloak/CausewayModuleSecurityKeycloak.java
@@ -19,7 +19,6 @@
 package org.apache.causeway.security.keycloak;
 
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 
 import 
org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties;
@@ -27,12 +26,8 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.core.convert.converter.Converter;
-import 
org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import 
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import 
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-import org.springframework.security.config.http.SessionCreationPolicy;
 import 
org.springframework.security.core.authority.mapping.SimpleAuthorityMapper;
-import 
org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter;
 import org.springframework.security.oauth2.core.OAuth2TokenValidator;
 import org.springframework.security.oauth2.jose.jws.JwsAlgorithms;
 import org.springframework.security.oauth2.jose.jws.SignatureAlgorithm;
@@ -40,20 +35,15 @@ import org.springframework.security.oauth2.jwt.Jwt;
 import org.springframework.security.oauth2.jwt.JwtValidators;
 import org.springframework.security.oauth2.jwt.MappedJwtClaimSetConverter;
 import org.springframework.security.oauth2.jwt.NimbusJwtDecoder;
-import 
org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
-import org.springframework.security.web.authentication.logout.LogoutHandler;
-import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 import org.springframework.util.Assert;
 
 import org.apache.causeway.core.config.CausewayConfiguration;
 import 
org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
-import 
org.apache.causeway.core.security.authentication.login.LoginSuccessHandlerUNUSED;
 import org.apache.causeway.core.webapp.CausewayModuleCoreWebapp;
 import org.apache.causeway.security.keycloak.handler.LogoutHandlerForKeycloak;
 import 
org.apache.causeway.security.keycloak.services.KeycloakOauth2UserService;
 import org.apache.causeway.security.spring.CausewayModuleSecuritySpring;
 
-import lombok.RequiredArgsConstructor;
 import lombok.val;
 
 /**
@@ -77,17 +67,20 @@ import lombok.val;
 @EnableWebSecurity
 public class CausewayModuleSecurityKeycloak {
 
-    @Bean
-    public WebSecurityConfigurerAdapter webSecurityConfigurer(
-            final CausewayConfiguration causewayConfiguration,
-            final KeycloakOauth2UserService keycloakOidcUserService,
-            final List<LoginSuccessHandlerUNUSED> loginSuccessHandlersUNUSED,
-            final List<LogoutHandler> logoutHandlers
-            ) {
-        //val realm = 
causewayConfiguration.getSecurity().getKeycloak().getRealm();
-        return new 
KeycloakWebSecurityConfigurerAdapter(keycloakOidcUserService, logoutHandlers, 
causewayConfiguration
-        );
-    }
+    //TODO[ISIS-3275] WebSecurityConfigurerAdapter was removed
+    // see 
https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter
+
+//    @Bean
+//    public WebSecurityConfigurerAdapter webSecurityConfigurer(
+//            final CausewayConfiguration causewayConfiguration,
+//            final KeycloakOauth2UserService keycloakOidcUserService,
+//            final List<LoginSuccessHandlerUNUSED> loginSuccessHandlersUNUSED,
+//            final List<LogoutHandler> logoutHandlers
+//            ) {
+//        //val realm = 
causewayConfiguration.getSecurity().getKeycloak().getRealm();
+//        return new 
KeycloakWebSecurityConfigurerAdapter(keycloakOidcUserService, logoutHandlers, 
causewayConfiguration
+//        );
+//    }
 
 
     @Bean
@@ -103,6 +96,10 @@ public class CausewayModuleSecurityKeycloak {
         return new KeycloakOauth2UserService(jwtDecoder, authoritiesMapper, 
causewayConfiguration);
     }
 
+/*
+    //TODO[ISIS-3275] WebSecurityConfigurerAdapter was removed
+    // see 
https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter
+
     @RequiredArgsConstructor
     public static class KeycloakWebSecurityConfigurerAdapter extends 
WebSecurityConfigurerAdapter {
 
@@ -152,6 +149,7 @@ public class CausewayModuleSecurityKeycloak {
                     .loginPage(loginPage);
         }
     }
+*/
 
     // -- HELPER
 
diff --git 
a/security/shiro/src/main/java/org/apache/causeway/security/shiro/authentication/AuthenticatorShiro.java
 
b/security/shiro/src/main/java/org/apache/causeway/security/shiro/authentication/AuthenticatorShiro.java
index 94a8ae478e..c54b5774e0 100644
--- 
a/security/shiro/src/main/java/org/apache/causeway/security/shiro/authentication/AuthenticatorShiro.java
+++ 
b/security/shiro/src/main/java/org/apache/causeway/security/shiro/authentication/AuthenticatorShiro.java
@@ -23,8 +23,8 @@ import java.util.Collections;
 import java.util.Set;
 import java.util.stream.Stream;
 
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
@@ -72,7 +72,7 @@ import lombok.extern.log4j.Log4j2;
  */
 @Service
 @Named("causeway.security.AuthenticatorShiro")
[email protected](PriorityPrecedence.EARLY)
[email protected](PriorityPrecedence.EARLY)
 @Qualifier("Shiro")
 @Log4j2
 public class AuthenticatorShiro implements Authenticator {
diff --git 
a/security/shiro/src/main/java/org/apache/causeway/security/shiro/authorization/AuthorizorShiro.java
 
b/security/shiro/src/main/java/org/apache/causeway/security/shiro/authorization/AuthorizorShiro.java
index eab1f9e024..8a48cf63bc 100644
--- 
a/security/shiro/src/main/java/org/apache/causeway/security/shiro/authorization/AuthorizorShiro.java
+++ 
b/security/shiro/src/main/java/org/apache/causeway/security/shiro/authorization/AuthorizorShiro.java
@@ -18,7 +18,7 @@
  */
 package org.apache.causeway.security.shiro.authorization;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.mgt.RealmSecurityManager;
@@ -50,7 +50,7 @@ import lombok.val;
  */
 @Service
 @Named("causeway.security.AuthorizorShiro")
[email protected](PriorityPrecedence.EARLY)
[email protected](PriorityPrecedence.EARLY)
 @Qualifier("Shiro")
 public class AuthorizorShiro implements Authorizor {
 
diff --git 
a/security/shiro/src/main/java/org/apache/causeway/security/shiro/webmodule/WebModuleShiro.java
 
b/security/shiro/src/main/java/org/apache/causeway/security/shiro/webmodule/WebModuleShiro.java
index 2625562a7c..bfbb86b10e 100644
--- 
a/security/shiro/src/main/java/org/apache/causeway/security/shiro/webmodule/WebModuleShiro.java
+++ 
b/security/shiro/src/main/java/org/apache/causeway/security/shiro/webmodule/WebModuleShiro.java
@@ -18,45 +18,27 @@
  */
 package org.apache.causeway.security.shiro.webmodule;
 
-import java.util.Collection;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.servlet.DispatcherType;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletException;
-
-import org.apache.shiro.config.Ini;
-import org.apache.shiro.realm.Realm;
-import org.apache.shiro.web.config.ShiroFilterConfiguration;
-import org.apache.shiro.web.env.EnvironmentLoaderListener;
-import org.apache.shiro.web.env.IniWebEnvironment;
-import org.apache.shiro.web.env.MutableWebEnvironment;
-import org.apache.shiro.web.env.WebEnvironment;
-import org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver;
-import org.apache.shiro.web.servlet.ShiroFilter;
+//import org.apache.shiro.web.env.IniWebEnvironment;
+//import org.apache.shiro.web.env.WebEnvironment;
+//import org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver;
+//import org.apache.shiro.web.servlet.ShiroFilter;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
-import org.springframework.util.ReflectionUtils;
 
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
 import org.apache.causeway.applib.services.inject.ServiceInjector;
 import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.commons.internal._Constants;
-import org.apache.causeway.commons.internal.base._Casts;
-import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.core.webapp.modules.WebModuleAbstract;
 import org.apache.causeway.core.webapp.modules.WebModuleContext;
-
+//import 
org.apache.causeway.security.shiro.webmodule.WebModuleShiro.EnvironmentLoaderListenerForCauseway;
+//import 
org.apache.causeway.security.shiro.webmodule.WebModuleShiro.IniWebEnvironmentUsingSystemProperty;
+
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletException;
 import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.SneakyThrows;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -68,11 +50,12 @@ import lombok.extern.log4j.Log4j2;
  */
 @Service
 @Named("causeway.security.WebModuleShiro")
[email protected](PriorityPrecedence.FIRST + 100)
[email protected](PriorityPrecedence.FIRST + 100)
 @Qualifier("Shiro")
 @Log4j2
 public class WebModuleShiro extends WebModuleAbstract {
 
+    //TODO[ISIS-3275] shiro-web no jakarta API support
 
     private static final String SHIRO_FILTER_NAME = "ShiroFilter";
 
@@ -83,6 +66,7 @@ public class WebModuleShiro extends WebModuleAbstract {
 
     // -- CONFIGURATION
 
+    /*
     public static void setShiroEnvironmentClass(final Class<? extends 
WebEnvironment> shiroEnvironmentClass) {
         if(shiroEnvironmentClass==null) {
             System.setProperty("shiroEnvironmentClass", null);
@@ -120,11 +104,13 @@ public class WebModuleShiro extends WebModuleAbstract {
         System.setProperty("shiroIniResource", resourcePath);
         setShiroEnvironmentClass(IniWebEnvironmentUsingSystemProperty.class);
     }
+*/
+
 
-    /**
+    /*
      * Adds support for dependency injection into security realms
      * @since 2.0
-     */
+     *
     @NoArgsConstructor // don't remove, this is class is managed by Causeway
     public static class EnvironmentLoaderListenerForCauseway extends 
EnvironmentLoaderListener {
 
@@ -178,6 +164,7 @@ public class WebModuleShiro extends WebModuleAbstract {
         }
 
     }
+    */
 
     // --
 
@@ -186,16 +173,16 @@ public class WebModuleShiro extends WebModuleAbstract {
 
     @Override
     public void prepare(final WebModuleContext ctx) {
-        super.prepare(ctx);
+        super.prepare(ctx);/*
         val customShiroEnvironmentClassName = 
System.getProperty("shiroEnvironmentClass");
         if(_Strings.isEmpty(customShiroEnvironmentClassName)) {
             
setShiroEnvironmentClass(IniWebEnvironmentUsingSystemProperty.class);
-        }
+        }*/
     }
 
     @Override
     public Can<ServletContextListener> init(final ServletContext ctx) throws 
ServletException {
-
+/*
         registerFilter(ctx, SHIRO_FILTER_NAME, ShiroFilter.class)
             .ifPresent(filterReg -> {
                 filterReg.addMappingForUrlPatterns(
@@ -211,7 +198,8 @@ public class WebModuleShiro extends WebModuleAbstract {
 
         val listener = 
createListener(EnvironmentLoaderListenerForCauseway.class);
         return Can.ofSingleton(listener);
-
+*/
+        return Can.empty();
     }
 
 
diff --git a/security/spring/src/main/java/module-info.java 
b/security/spring/src/main/java/module-info.java
index 7a6ac485ed..3b4f0477a6 100644
--- a/security/spring/src/main/java/module-info.java
+++ b/security/spring/src/main/java/module-info.java
@@ -22,8 +22,9 @@ module org.apache.causeway.security.spring {
     exports org.apache.causeway.security.spring.authentication;
     exports org.apache.causeway.security.spring.webmodule;
 
-    requires java.annotation;
-    requires java.inject;
+    requires jakarta.annotation;
+    requires jakarta.inject;
+    requires jakarta.servlet;
     requires lombok;
     requires org.apache.causeway.applib;
     requires org.apache.causeway.commons;
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/CausewayModuleSecuritySpring.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/CausewayModuleSecuritySpring.java
index 737a1ab676..2a0092d543 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/CausewayModuleSecuritySpring.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/CausewayModuleSecuritySpring.java
@@ -20,9 +20,9 @@ package org.apache.causeway.security.spring;
 
 import java.util.List;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.servlet.Filter;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Inject;
+import jakarta.servlet.Filter;
 
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Configuration;
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverter.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverter.java
index ef0f25fdcb..f683c5642e 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverter.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverter.java
@@ -53,7 +53,7 @@ import lombok.val;
  *     All known converters are checked one by one, but checking stops once one
  *     converter has successively converted the {@link Authentication} into a
  *     {@link UserMemento} (in other words, chain-of-responsibility pattern).
- *     Use the {@link javax.annotation.Priority} annotation to influence the 
order
+ *     Use the {@link jakarta.annotation.Priority} annotation to influence the 
order
  *     in which converter implementations are checked.
  * </p>
  *
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfAuthenticatedPrincipal.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfAuthenticatedPrincipal.java
index 3cdf840a0d..93042180ae 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfAuthenticatedPrincipal.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfAuthenticatedPrincipal.java
@@ -31,7 +31,7 @@ import lombok.NonNull;
  * Applies if {@link Authentication} holds a principal of type {@link 
AuthenticatedPrincipal}.
  */
 @Component
[email protected](PriorityPrecedence.LATE - 100)
[email protected](PriorityPrecedence.LATE - 100)
 public class AuthenticationConverterOfAuthenticatedPrincipal
 extends AuthenticationConverter.Abstract<AuthenticatedPrincipal> {
 
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfStringPrincipal.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfStringPrincipal.java
index da22659d2b..aa9c01cfb9 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfStringPrincipal.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfStringPrincipal.java
@@ -30,7 +30,7 @@ import lombok.NonNull;
  * Applies if {@link Authentication} holds a principal of type {@link String}.
  */
 @Component
[email protected](PriorityPrecedence.LATE + 100)
[email protected](PriorityPrecedence.LATE + 100)
 public class AuthenticationConverterOfStringPrincipal
 extends AuthenticationConverter.Abstract<String> {
 
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfUserDetailsPrincipal.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfUserDetailsPrincipal.java
index e8d372a858..5e564ad273 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfUserDetailsPrincipal.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authconverters/AuthenticationConverterOfUserDetailsPrincipal.java
@@ -31,7 +31,7 @@ import lombok.NonNull;
  * Applies if {@link Authentication} holds a principal of type {@link 
UserDetails}.
  */
 @Component
[email protected](PriorityPrecedence.LATE - 200)
[email protected](PriorityPrecedence.LATE - 200)
 public class AuthenticationConverterOfUserDetailsPrincipal
 extends AuthenticationConverter.Abstract<UserDetails> {
 
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authentication/AuthenticatorSpring.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authentication/AuthenticatorSpring.java
index 14b9119278..267b4f5468 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/authentication/AuthenticatorSpring.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/authentication/AuthenticatorSpring.java
@@ -18,8 +18,8 @@
  */
 package org.apache.causeway.security.spring.authentication;
 
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
@@ -35,7 +35,7 @@ import 
org.apache.causeway.core.security.authentication.Authenticator;
  */
 @Service
 @Named("causeway.security.AuthenticatorSpring")
[email protected](PriorityPrecedence.EARLY)
[email protected](PriorityPrecedence.EARLY)
 @Qualifier("Spring")
 public class AuthenticatorSpring implements Authenticator {
 
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/SpringSecurityFilter.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/SpringSecurityFilter.java
index 51829aa1df..e23d920838 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/SpringSecurityFilter.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/SpringSecurityFilter.java
@@ -22,13 +22,13 @@ import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
 
-import javax.inject.Inject;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.inject.Inject;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.Authentication;
diff --git 
a/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/WebModuleSpringSecurity.java
 
b/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/WebModuleSpringSecurity.java
index 94ce481ffb..dfedddc91f 100644
--- 
a/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/WebModuleSpringSecurity.java
+++ 
b/security/spring/src/main/java/org/apache/causeway/security/spring/webmodule/WebModuleSpringSecurity.java
@@ -18,11 +18,11 @@
  */
 package org.apache.causeway.security.spring.webmodule;
 
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletException;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletException;
 
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
@@ -41,7 +41,7 @@ import lombok.Getter;
  */
 @Service
 @Named("causeway.security.WebModuleSpringSecurity")
[email protected](PriorityPrecedence.FIRST + 100)
[email protected](PriorityPrecedence.FIRST + 100)
 @Qualifier("Spring")
 public final class WebModuleSpringSecurity extends WebModuleAbstract {
 

Reply via email to