This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/syncope.git
commit 7ebd2c66687329765507f51b4c19a352790cee18 Author: Francesco Chicchiriccò <[email protected]> AuthorDate: Tue Mar 24 10:29:39 2020 +0100 Initial steps to enable Payara Server 5 --- .../core/spring/security/JWTAuthenticationFilter.java | 15 +++++---------- .../syncope/core/spring/security/WebSecurityContext.java | 4 +--- fit/build-tools/pom.xml | 3 ++- .../webapp/WEB-INF/{glassfish-web.xml => payara-web.xml} | 8 ++++---- fit/core-reference/pom.xml | 6 ++++++ .../webapp/WEB-INF/{glassfish-web.xml => payara-web.xml} | 10 +++++----- pom.xml | 2 +- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTAuthenticationFilter.java b/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTAuthenticationFilter.java index ebe09fa..e82f294 100644 --- a/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTAuthenticationFilter.java +++ b/core/spring/src/main/java/org/apache/syncope/core/spring/security/JWTAuthenticationFilter.java @@ -20,7 +20,6 @@ package org.apache.syncope.core.spring.security; import java.io.IOException; import java.util.Optional; - import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -33,25 +32,22 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.BadCredentialsException; -import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.AuthenticationEntryPoint; -import org.springframework.web.filter.OncePerRequestFilter; +import org.springframework.security.web.authentication.www.BasicAuthenticationFilter; /** * Processes the JSON Web Token provided as {@link HttpHeaders#AUTHORIZATION} HTTP header, putting the result into the * {@link SecurityContextHolder}. */ -public class JWTAuthenticationFilter extends OncePerRequestFilter { +public class JWTAuthenticationFilter extends BasicAuthenticationFilter { private static final Logger LOG = LoggerFactory.getLogger(JWTAuthenticationFilter.class); @Autowired private AuthenticationEntryPoint authenticationEntryPoint; - private AuthenticationManager authenticationManager; - @Autowired private SyncopeAuthenticationDetailsSource authenticationDetailsSource; @@ -61,8 +57,8 @@ public class JWTAuthenticationFilter extends OncePerRequestFilter { @Autowired private DefaultCredentialChecker credentialChecker; - public void setAuthenticationManager(final AuthenticationManager authenticationManager) { - this.authenticationManager = authenticationManager; + public JWTAuthenticationFilter(final AuthenticationManager authenticationManager) { + super(authenticationManager); } @Override @@ -91,9 +87,8 @@ public class JWTAuthenticationFilter extends OncePerRequestFilter { throw new BadCredentialsException("Invalid signature found in JWT"); } - Authentication authentication = authenticationManager.authenticate( + SecurityContextHolder.getContext().setAuthentication( new JWTAuthentication(consumer.getJwtClaims(), authenticationDetailsSource.buildDetails(request))); - SecurityContextHolder.getContext().setAuthentication(authentication); chain.doFilter(request, response); } catch (JwsException e) { diff --git a/core/spring/src/main/java/org/apache/syncope/core/spring/security/WebSecurityContext.java b/core/spring/src/main/java/org/apache/syncope/core/spring/security/WebSecurityContext.java index 0778d0e..05dfc94 100644 --- a/core/spring/src/main/java/org/apache/syncope/core/spring/security/WebSecurityContext.java +++ b/core/spring/src/main/java/org/apache/syncope/core/spring/security/WebSecurityContext.java @@ -110,9 +110,7 @@ public class WebSecurityContext extends WebSecurityConfigurerAdapter { @Bean public JWTAuthenticationFilter jwtAuthenticationFilter() throws Exception { - JWTAuthenticationFilter jwtAuthenticationFilter = new JWTAuthenticationFilter(); - jwtAuthenticationFilter.setAuthenticationManager(authenticationManager()); - return jwtAuthenticationFilter; + return new JWTAuthenticationFilter(authenticationManager()); } @Bean diff --git a/fit/build-tools/pom.xml b/fit/build-tools/pom.xml index 86a9726..fe10e45 100644 --- a/fit/build-tools/pom.xml +++ b/fit/build-tools/pom.xml @@ -363,7 +363,7 @@ under the License. <dependencies> <dependency> <groupId>org.glassfish</groupId> - <artifactId>javax.faces</artifactId> + <artifactId>jakarta.faces</artifactId> <version>${javax.faces.version}</version> </dependency> @@ -401,6 +401,7 @@ under the License. </container> <configuration> <properties> + <cargo.glassfish.removeDefaultDatasource>false</cargo.glassfish.removeDefaultDatasource> <cargo.jvmargs>-Xdebug -Djaxb.debug=true -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -XX:+CMSClassUnloadingEnabled</cargo.jvmargs> </properties> diff --git a/fit/build-tools/src/main/webapp/WEB-INF/glassfish-web.xml b/fit/build-tools/src/main/webapp/WEB-INF/payara-web.xml similarity index 79% rename from fit/build-tools/src/main/webapp/WEB-INF/glassfish-web.xml rename to fit/build-tools/src/main/webapp/WEB-INF/payara-web.xml index 31212ca..01ee064 100644 --- a/fit/build-tools/src/main/webapp/WEB-INF/glassfish-web.xml +++ b/fit/build-tools/src/main/webapp/WEB-INF/payara-web.xml @@ -17,12 +17,12 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> -<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD -GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> -<glassfish-web-app> +<!DOCTYPE payara-web-app PUBLIC "-//Payara.fish//DTD Payara Server 4 Servlet 3.0//EN" "https://docs.payara.fish/schemas/payara-web-app_4.dtd"> +<payara-web-app error-url=""> <context-root>/syncope-fit-build-tools</context-root> <class-loader delegate="false"/> + <jaxrs-roles-allowed-enabled>false</jaxrs-roles-allowed-enabled> <jsp-config> <property name="httpMethods" value="GET,POST,HEAD,PUT,DELETE"/> </jsp-config> -</glassfish-web-app> +</payara-web-app> diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml index a0d338f..4b477c9 100644 --- a/fit/core-reference/pom.xml +++ b/fit/core-reference/pom.xml @@ -1489,6 +1489,12 @@ under the License. </dependency> <dependency> + <groupId>org.glassfish</groupId> + <artifactId>jakarta.faces</artifactId> + <version>${javax.faces.version}</version> + </dependency> + + <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> </dependency> diff --git a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml b/fit/core-reference/src/main/webapp/WEB-INF/payara-web.xml similarity index 79% rename from fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml rename to fit/core-reference/src/main/webapp/WEB-INF/payara-web.xml index 2eea12b..a32bda0 100644 --- a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml +++ b/fit/core-reference/src/main/webapp/WEB-INF/payara-web.xml @@ -17,10 +17,8 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> -<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD -GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> -<glassfish-web-app> - <context-root>/syncope</context-root> +<!DOCTYPE payara-web-app PUBLIC "-//Payara.fish//DTD Payara Server 4 Servlet 3.0//EN" "https://docs.payara.fish/schemas/payara-web-app_4.dtd"> +<payara-web-app error-url=""> <!-- Uncomment this when using JNDI DataSource --> <!--<resource-ref> <res-ref-name>jdbc/syncopeMasterDataSource</res-ref-name> @@ -28,7 +26,9 @@ GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/gla </resource-ref>--> <class-loader delegate="false"/> <scanning-exclude>*</scanning-exclude> + <scanning-exclude>*</scanning-exclude> + <jaxrs-roles-allowed-enabled>false</jaxrs-roles-allowed-enabled> <jsp-config> <property name="httpMethods" value="GET,POST,HEAD,PUT,DELETE"/> </jsp-config> -</glassfish-web-app> +</payara-web-app> diff --git a/pom.xml b/pom.xml index 071cc99..1e2b71a 100644 --- a/pom.xml +++ b/pom.xml @@ -516,7 +516,7 @@ under the License. <tomcat.version>9.0.33</tomcat.version> <wildfly.version>19.0.0.Final</wildfly.version> <payara.version>5.201</payara.version> - <javax.faces.version>2.4.0</javax.faces.version> + <javax.faces.version>2.3.14</javax.faces.version> <docker.postgresql.version>12</docker.postgresql.version> <docker.mysql.version>8.0.19</docker.mysql.version>
