You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/03/30 08:31:02 UTC

[syncope] branch master updated (9bc2cf5 -> 7ebd2c6)

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

ilgrosso pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git.


    from 9bc2cf5  Upgrading Commons Lang
     new 901608c  Replacing Hibernate Validator with Apache BVal (#169)
     new 7ebd2c6  Initial steps to enable Payara Server 5

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 core/idm/logic/pom.xml                             |  5 ----
 .../syncope/core/rest/cxf/RESTCXFContext.java      | 12 +-------
 core/persistence-jpa/pom.xml                       | 16 +++--------
 core/provisioning-java/pom.xml                     |  5 ----
 .../spring/security/JWTAuthenticationFilter.java   | 15 ++++------
 .../core/spring/security/WebSecurityContext.java   |  4 +--
 .../syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java |  4 +--
 .../self/keymaster/cxf/SelfKeymasterContext.java   |  6 +---
 fit/build-tools/pom.xml                            |  3 +-
 .../WEB-INF/{glassfish-web.xml => payara-web.xml}  |  8 +++---
 fit/core-reference/pom.xml                         | 15 +++++++++-
 fit/core-reference/src/main/resources/log4j2.xml   |  4 +++
 .../WEB-INF/{glassfish-web.xml => payara-web.xml}  | 11 ++++----
 pom.xml                                            | 17 ++++--------
 .../systemadministration/javaeecontainer.adoc      | 32 ++++++++++++++++++++--
 src/site/xdoc/building.xml                         |  5 ----
 16 files changed, 79 insertions(+), 83 deletions(-)
 rename fit/build-tools/src/main/webapp/WEB-INF/{glassfish-web.xml => payara-web.xml} (79%)
 rename fit/core-reference/src/main/webapp/WEB-INF/{glassfish-web.xml => payara-web.xml} (77%)


[syncope] 02/02: Initial steps to enable Payara Server 5

Posted by il...@apache.org.
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ò <il...@apache.org>
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>


[syncope] 01/02: Replacing Hibernate Validator with Apache BVal (#169)

Posted by il...@apache.org.
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 901608cce1e49223a538551de718402a7734334a
Author: Francesco Chicchiriccò <il...@users.noreply.github.com>
AuthorDate: Mon Mar 30 08:38:33 2020 +0200

    Replacing Hibernate Validator with Apache BVal (#169)
---
 core/idm/logic/pom.xml                             |  5 ----
 .../syncope/core/rest/cxf/RESTCXFContext.java      | 12 +-------
 core/persistence-jpa/pom.xml                       | 16 +++--------
 core/provisioning-java/pom.xml                     |  5 ----
 .../syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java |  4 +--
 .../self/keymaster/cxf/SelfKeymasterContext.java   |  6 +---
 fit/core-reference/pom.xml                         | 13 +++++++--
 fit/core-reference/src/main/resources/log4j2.xml   |  4 +++
 .../src/main/webapp/WEB-INF/glassfish-web.xml      |  3 +-
 pom.xml                                            | 15 ++++------
 .../systemadministration/javaeecontainer.adoc      | 32 ++++++++++++++++++++--
 src/site/xdoc/building.xml                         |  5 ----
 12 files changed, 58 insertions(+), 62 deletions(-)

diff --git a/core/idm/logic/pom.xml b/core/idm/logic/pom.xml
index baf271c..02c3def 100644
--- a/core/idm/logic/pom.xml
+++ b/core/idm/logic/pom.xml
@@ -61,11 +61,6 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>javax.el</groupId>
-      <artifactId>javax.el-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.syncope.core</groupId>
       <artifactId>syncope-core-persistence-jpa</artifactId>
       <version>${project.version}</version>
diff --git a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
index 545fde2..9affd05 100644
--- a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
+++ b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
@@ -38,7 +38,6 @@ import org.apache.cxf.jaxrs.openapi.OpenApiFeature;
 import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
 import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor;
 import org.apache.cxf.staxutils.DocumentDepthProperties;
 import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
 import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
@@ -123,13 +122,6 @@ public class RESTCXFContext {
     }
 
     @Bean
-    public JAXRSBeanValidationOutInterceptor validationOutInterceptor() {
-        JAXRSBeanValidationOutInterceptor validationOutInterceptor = new JAXRSBeanValidationOutInterceptor();
-        validationOutInterceptor.setProvider(validationProvider());
-        return validationOutInterceptor;
-    }
-
-    @Bean
     public GZIPInInterceptor gzipInInterceptor() {
         return new GZIPInInterceptor();
     }
@@ -245,9 +237,7 @@ public class RESTCXFContext {
                 gzipInInterceptor(),
                 validationInInterceptor()));
 
-        restContainer.setOutInterceptors(List.of(
-                gzipOutInterceptor(),
-                validationOutInterceptor()));
+        restContainer.setOutInterceptors(List.of(gzipOutInterceptor()));
 
         restContainer.setFeatures(List.of(openapiFeature()));
 
diff --git a/core/persistence-jpa/pom.xml b/core/persistence-jpa/pom.xml
index 2fef5e8..6f5114e 100644
--- a/core/persistence-jpa/pom.xml
+++ b/core/persistence-jpa/pom.xml
@@ -42,10 +42,6 @@ under the License.
       <groupId>javax.persistence</groupId>
       <artifactId>javax.persistence-api</artifactId>
     </dependency>
-    <dependency>
-      <groupId>javax.el</groupId>
-      <artifactId>javax.el-api</artifactId>
-    </dependency>
       
     <dependency>
       <groupId>org.apache.openjpa</groupId>
@@ -62,14 +58,10 @@ under the License.
     </dependency>
       
     <dependency>
-      <groupId>org.hibernate.validator</groupId>
-      <artifactId>hibernate-validator</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish</groupId>
-      <artifactId>javax.el</artifactId>
-    </dependency>
-      
+      <groupId>org.apache.bval</groupId>
+      <artifactId>bval-jsr</artifactId>
+    </dependency>      
+
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-tx</artifactId>
diff --git a/core/provisioning-java/pom.xml b/core/provisioning-java/pom.xml
index a2c7067..5a2211e 100644
--- a/core/provisioning-java/pom.xml
+++ b/core/provisioning-java/pom.xml
@@ -115,11 +115,6 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>javax.el</groupId>
-      <artifactId>javax.el-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.syncope.core</groupId>
       <artifactId>syncope-core-persistence-jpa</artifactId>
       <version>${project.version}</version>
diff --git a/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java b/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java
index 4f8e2f5..0120754 100644
--- a/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java
+++ b/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java
@@ -27,7 +27,6 @@ import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
 import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor;
 import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
 import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -94,8 +93,7 @@ public class RESTSCIMCXFContext {
                 ctx.getBean(JAXRSBeanValidationInInterceptor.class)));
 
         scimv2Container.setOutInterceptors(List.of(
-                ctx.getBean(GZIPOutInterceptor.class),
-                ctx.getBean(JAXRSBeanValidationOutInterceptor.class)));
+                ctx.getBean(GZIPOutInterceptor.class)));
 
         scimv2Container.setProviders(List.of(
                 scimJacksonJsonProvider(),
diff --git a/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java b/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java
index 7a2dbeb..bc6976a 100644
--- a/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java
+++ b/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java
@@ -19,17 +19,14 @@
 package org.apache.syncope.ext.self.keymaster.cxf;
 
 import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-
 import java.util.List;
 import java.util.Map;
-
 import javax.annotation.Resource;
 import org.apache.cxf.Bus;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
 import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor;
 import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
 import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
 import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
@@ -98,8 +95,7 @@ public class SelfKeymasterContext {
                 ctx.getBean(JAXRSBeanValidationInInterceptor.class)));
 
         selfKeymasterContainer.setOutInterceptors(List.of(
-                ctx.getBean(GZIPOutInterceptor.class),
-                ctx.getBean(JAXRSBeanValidationOutInterceptor.class)));
+                ctx.getBean(GZIPOutInterceptor.class)));
 
         selfKeymasterContainer.setProviders(List.of(
                 ctx.getBean(RestServiceExceptionMapper.class),
diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml
index 508dbc0..a0d338f 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -1477,9 +1477,15 @@ under the License.
 
       <dependencies>
         <dependency>
-          <groupId>org.glassfish</groupId>
-          <artifactId>javax.faces</artifactId>
-          <version>${javax.faces.version}</version>
+          <groupId>org.apache.syncope.core</groupId>
+          <artifactId>syncope-core-persistence-jpa</artifactId>
+          <version>${project.version}</version>
+          <exclusions>
+            <exclusion>
+              <groupId>org.apache.bval</groupId>
+              <artifactId>bval-jsr</artifactId>
+            </exclusion>
+          </exclusions>
         </dependency>
 
         <dependency>
@@ -1515,6 +1521,7 @@ under the License.
               </container>
               <configuration>
                 <properties>
+                  <cargo.glassfish.removeDefaultDatasource>false</cargo.glassfish.removeDefaultDatasource>
                   <cargo.jvmargs>-Dspring.profiles.active=embedded
                     -XX:+CMSClassUnloadingEnabled -XX:+UseG1GC -Xmx2048m -Xms1024m</cargo.jvmargs>
                 </properties>
diff --git a/fit/core-reference/src/main/resources/log4j2.xml b/fit/core-reference/src/main/resources/log4j2.xml
index 6bc339c..d0ddcbb 100644
--- a/fit/core-reference/src/main/resources/log4j2.xml
+++ b/fit/core-reference/src/main/resources/log4j2.xml
@@ -176,6 +176,10 @@ under the License.
       <appender-ref ref="mainFile"/>
       <appender-ref ref="main"/>
     </asyncLogger>
+    <asyncLogger name="org.apache.bval" additivity="false" level="ERROR">
+      <appender-ref ref="mainFile"/>
+      <appender-ref ref="main"/>
+    </asyncLogger>
     <asyncLogger name="org.opensaml" additivity="false" level="ERROR">
       <appender-ref ref="mainFile"/>
       <appender-ref ref="main"/>
diff --git a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml b/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
index 2578cf5..2eea12b 100644
--- a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
+++ b/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
@@ -27,7 +27,8 @@ GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/gla
     <jndi-name>jdbc/syncopeMasterDataSource</jndi-name>
   </resource-ref>-->
   <class-loader delegate="false"/>
+  <scanning-exclude>*</scanning-exclude>
   <jsp-config>
     <property name="httpMethods" value="GET,POST,HEAD,PUT,DELETE"/>
   </jsp-config>
-</glassfish-web-app>
\ No newline at end of file
+</glassfish-web-app>
diff --git a/pom.xml b/pom.xml
index 03eb41b..071cc99 100644
--- a/pom.xml
+++ b/pom.xml
@@ -415,7 +415,7 @@ under the License.
 
     <openjpa.version>3.1.1</openjpa.version>
     <hikaricp.version>3.4.2</hikaricp.version>
-    <hibernate-validator.version>6.1.2.Final</hibernate-validator.version>
+    <bval.version>2.0.3</bval.version>
 
     <jasypt.version>1.9.3</jasypt.version>
 
@@ -515,7 +515,7 @@ under the License.
 
     <tomcat.version>9.0.33</tomcat.version>
     <wildfly.version>19.0.0.Final</wildfly.version>
-    <payara.version>5.194</payara.version>
+    <payara.version>5.201</payara.version>
     <javax.faces.version>2.4.0</javax.faces.version>
 
     <docker.postgresql.version>12</docker.postgresql.version>
@@ -909,14 +909,9 @@ under the License.
       </dependency>
 
       <dependency>
-        <groupId>org.hibernate.validator</groupId>
-        <artifactId>hibernate-validator</artifactId>
-        <version>${hibernate-validator.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.glassfish</groupId>
-        <artifactId>javax.el</artifactId>
-        <version>3.0.1-b09</version>
+        <groupId>org.apache.bval</groupId>
+        <artifactId>bval-jsr</artifactId>
+        <version>${bval.version}</version>
       </dependency>
 
       <dependency>
diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc
index b0f2d6a..55ede1e 100644
--- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc
+++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc
@@ -102,6 +102,34 @@ Add
 
 to `core/pom.xml`, `console/pom.xml` and `enduser/pom.xml`.
 
+then replace
+
+[source,xml]
+....
+    <dependency>
+      <groupId>org.apache.syncope.core</groupId>
+      <artifactId>syncope-core-persistence-jpa</artifactId>
+    </dependency>
+....
+
+with
+
+[source,xml]
+....
+    <dependency>
+      <groupId>org.apache.syncope.core</groupId>
+      <artifactId>syncope-core-persistence-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.bval</groupId>
+          <artifactId>bval-jsr</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+....
+
+in `core/pom.xml`.
+
 When using a datasource for internal storage, be sure to add
 
 [source,xml]
@@ -112,8 +140,8 @@ When using a datasource for internal storage, be sure to add
 </resource-ref>
 ....
 
-right after `</context-root>` in `core/src/main/webapp/WEB-INF/glassfish-web.xml`, assuming that your Payara Server instance
-provides a datasource named `jdbc/syncopeMasterDataSource`.
+right after `</context-root>` in `core/src/main/webapp/WEB-INF/glassfish-web.xml`, assuming that your Payara Server
+instance provides a datasource named `jdbc/syncopeMasterDataSource`.
 
 [TIP]
 ====
diff --git a/src/site/xdoc/building.xml b/src/site/xdoc/building.xml
index 3981a83..d61d6a4 100644
--- a/src/site/xdoc/building.xml
+++ b/src/site/xdoc/building.xml
@@ -186,11 +186,6 @@ under the License.
 
         <h4>Java EE containers</h4>
 
-        <h5>Glassfish</h5>
-        Perform the full test suite by deploying Syncope core in 
-        <a href="https://glassfish.java.net/">Glassfish</a> via
-        <source>$ mvn -Pglassfish-it</source>
-
         <h5>Payara</h5>
         Perform the full test suite by deploying Syncope core in 
         <a href="http://www.payara.fish/">Payara</a> via