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
The following commit(s) were added to refs/heads/master by this push:
new 8dcd17128f Allow for easier subclassing for Console and Enduser
8dcd17128f is described below
commit 8dcd17128f3429748e29b38ba90c264c69392ec7
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Wed May 31 14:57:29 2023 +0200
Allow for easier subclassing for Console and Enduser
---
.../client/console/SyncopeWebApplication.java | 65 ++++++++++++----------
.../console/src/main/resources/console.properties | 1 -
.../client/enduser/SyncopeWebApplication.java | 59 +++++++++++---------
.../enduser/src/main/resources/enduser.properties | 1 -
4 files changed, 71 insertions(+), 55 deletions(-)
diff --git
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
index 3aa49b6508..1ae3d19757 100644
---
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
+++
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
@@ -135,32 +135,8 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
this.policyTabProviders = policyTabProviders;
}
- @Override
- protected void init() {
- super.init();
-
- // Application settings
- IBootstrapSettings settings = new BootstrapSettings();
-
- // set theme provider
- settings.setThemeProvider(new SingleThemeProvider(new AdminLTE()));
-
- // install application settings
- Bootstrap.install(this, settings);
-
- getResourceSettings().setUseMinifiedResources(true);
- getResourceSettings().setUseDefaultOnMissingResource(true);
- getResourceSettings().setThrowExceptionOnMissingResource(false);
-
- getSecuritySettings().setAuthorizationStrategy(new
MetaDataRoleAuthorizationStrategy(this));
-
- lookup.getIdRepoPageClasses().
- forEach(cls ->
MetaDataRoleAuthorizationStrategy.authorize(cls, Constants.ROLE_AUTHENTICATED));
-
- getMarkupSettings().setStripWicketTags(true);
- getMarkupSettings().setCompressWhitespace(true);
-
- getRequestCycleListeners().add(new SyncopeUIRequestCycleListener() {
+ protected SyncopeUIRequestCycleListener
buildSyncopeUIRequestCycleListener() {
+ return new SyncopeUIRequestCycleListener() {
@Override
protected boolean isSignedIn() {
@@ -176,8 +152,10 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
protected IRequestablePage getErrorPage(final PageParameters
errorParameters) {
return new Login(errorParameters);
}
- });
+ };
+ }
+ protected void initSecurity() {
if (props.isxForward()) {
XForwardedRequestWrapperFactory.Config config = new
XForwardedRequestWrapperFactory.Config();
config.setProtocolHeader(props.getxForwardProtocolHeader());
@@ -193,6 +171,8 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
getRequestCycleListeners().add(new
WebSocketAwareResourceIsolationRequestCycleListener());
}
+ getCspSettings().blocking().unsafeInline();
+
getRequestCycleListeners().add(new IRequestCycleListener() {
@Override
@@ -203,7 +183,36 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
}
}
});
- getCspSettings().blocking().unsafeInline();
+ }
+
+ @Override
+ protected void init() {
+ super.init();
+
+ // Application settings
+ IBootstrapSettings settings = new BootstrapSettings();
+
+ // set theme provider
+ settings.setThemeProvider(new SingleThemeProvider(new AdminLTE()));
+
+ // install application settings
+ Bootstrap.install(this, settings);
+
+ getResourceSettings().setUseMinifiedResources(true);
+ getResourceSettings().setUseDefaultOnMissingResource(true);
+ getResourceSettings().setThrowExceptionOnMissingResource(false);
+
+ getSecuritySettings().setAuthorizationStrategy(new
MetaDataRoleAuthorizationStrategy(this));
+
+ lookup.getIdRepoPageClasses().
+ forEach(cls ->
MetaDataRoleAuthorizationStrategy.authorize(cls, Constants.ROLE_AUTHENTICATED));
+
+ getMarkupSettings().setStripWicketTags(true);
+ getMarkupSettings().setCompressWhitespace(true);
+
+ getRequestCycleListeners().add(buildSyncopeUIRequestCycleListener());
+
+ initSecurity();
mountPage("/login", getSignInPageClass());
diff --git a/client/idrepo/console/src/main/resources/console.properties
b/client/idrepo/console/src/main/resources/console.properties
index ca80121a36..bb85bedef2 100644
--- a/client/idrepo/console/src/main/resources/console.properties
+++ b/client/idrepo/console/src/main/resources/console.properties
@@ -79,7 +79,6 @@ console.security-headers.X-XSS-Protection=1; mode=block
console.security-headers.Strict-Transport-Security=max-age=31536000;
includeSubDomains; preload
console.security-headers.X-Content-Type-Options=nosniff
console.security-headers.X-Frame-Options=sameorigin
-#console.security-headers.Content-Security-Policy=default-src https:
##
# Disable CGLib Proxies
diff --git
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
index 887baf949a..824bcc5b40 100644
---
a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
+++
b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
@@ -98,29 +98,8 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
this.serviceOps = serviceOps;
}
- @Override
- protected void init() {
- super.init();
-
- // Application settings
- IBootstrapSettings settings = new BootstrapSettings();
-
- // set theme provider
- settings.setThemeProvider(new SingleThemeProvider(new AdminLTE()));
-
- // install application settings
- Bootstrap.install(this, settings);
-
- getResourceSettings().setUseMinifiedResources(true);
- getResourceSettings().setUseDefaultOnMissingResource(true);
- getResourceSettings().setThrowExceptionOnMissingResource(false);
-
-
getSecuritySettings().setAuthorizationStrategy(getAuthorizationStrategy());
-
- getMarkupSettings().setStripWicketTags(true);
- getMarkupSettings().setCompressWhitespace(true);
-
- getRequestCycleListeners().add(new SyncopeUIRequestCycleListener() {
+ protected SyncopeUIRequestCycleListener
buildSyncopeUIRequestCycleListener() {
+ return new SyncopeUIRequestCycleListener() {
@Override
protected boolean isSignedIn() {
@@ -136,8 +115,10 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
protected IRequestablePage getErrorPage(final PageParameters
errorParameters) {
return new Login(errorParameters);
}
- });
+ };
+ }
+ protected void initSecurity() {
if (props.isxForward()) {
XForwardedRequestWrapperFactory.Config config = new
XForwardedRequestWrapperFactory.Config();
config.setProtocolHeader(props.getxForwardProtocolHeader());
@@ -153,6 +134,8 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
getRequestCycleListeners().add(new
ResourceIsolationRequestCycleListener());
}
+ getCspSettings().blocking().unsafeInline();
+
getRequestCycleListeners().add(new IRequestCycleListener() {
@Override
@@ -163,7 +146,33 @@ public class SyncopeWebApplication extends
WicketBootSecuredWebApplication {
}
}
});
- getCspSettings().blocking().unsafeInline();
+ }
+
+ @Override
+ protected void init() {
+ super.init();
+
+ // Application settings
+ IBootstrapSettings settings = new BootstrapSettings();
+
+ // set theme provider
+ settings.setThemeProvider(new SingleThemeProvider(new AdminLTE()));
+
+ // install application settings
+ Bootstrap.install(this, settings);
+
+ getResourceSettings().setUseMinifiedResources(true);
+ getResourceSettings().setUseDefaultOnMissingResource(true);
+ getResourceSettings().setThrowExceptionOnMissingResource(false);
+
+
getSecuritySettings().setAuthorizationStrategy(getAuthorizationStrategy());
+
+ getMarkupSettings().setStripWicketTags(true);
+ getMarkupSettings().setCompressWhitespace(true);
+
+ getRequestCycleListeners().add(buildSyncopeUIRequestCycleListener());
+
+ initSecurity();
// Confirm password reset page
mountPage("/confirmpasswordreset", SelfConfirmPasswordReset.class);
diff --git a/client/idrepo/enduser/src/main/resources/enduser.properties
b/client/idrepo/enduser/src/main/resources/enduser.properties
index d42a7e93b0..2c1e1c56e8 100644
--- a/client/idrepo/enduser/src/main/resources/enduser.properties
+++ b/client/idrepo/enduser/src/main/resources/enduser.properties
@@ -70,7 +70,6 @@ enduser.security.headers.X-XSS-Protection=1; mode=block
enduser.security.headers.Strict-Transport-Security=max-age=31536000;
includeSubDomains; preload
enduser.security.headers.X-Content-Type-Options=nosniff
enduser.security.headers.X-Frame-Options=sameorigin
-#enduser.security.headers.Content-Security-Policy=default-src https:
##
# Disable CGLib Proxies