From 497a4dfcf9f8fde966ed85c739f63049aa0a6e24 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Thu, 21 Sep 2023 19:54:23 +0200 Subject: [PATCH] registration screen optimized, see #58 --- build.gradle | 2 +- .../camporganizer/config/SecurityConfiguration.java | 2 +- .../module/registration/RegistrationController.java | 12 ++++++++++++ .../templates/registration/registration.html | 10 +++++++--- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 8070952..98ab1b6 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ plugins { } group = 'de.jottyfan.camporganizer' -version = '0.5.5' +version = '0.5.6' description = """CampOrganizer2""" diff --git a/src/main/java/de/jottyfan/camporganizer/config/SecurityConfiguration.java b/src/main/java/de/jottyfan/camporganizer/config/SecurityConfiguration.java index 54bea71..4b736f9 100644 --- a/src/main/java/de/jottyfan/camporganizer/config/SecurityConfiguration.java +++ b/src/main/java/de/jottyfan/camporganizer/config/SecurityConfiguration.java @@ -34,7 +34,7 @@ public class SecurityConfiguration { // @formatter:off .oauth2Login(o -> o.defaultSuccessUrl("/")) .logout(o -> o.logoutSuccessHandler(new OidcClientInitiatedLogoutSuccessHandler(crr))) - .authorizeHttpRequests(o -> o.requestMatchers("/dashboard/**", "/business/**", "/confirmation/**").authenticated() + .authorizeHttpRequests(o -> o.requestMatchers("/dashboard/**", "/business/**", "/confirmation/**", "/userlogin/**").authenticated() .anyRequest().permitAll()) .oauth2ResourceServer(o -> o.jwt(Customizer.withDefaults())) .sessionManagement(o -> o.init(sec)); diff --git a/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java b/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java index 97fd0b1..53ae9ad 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java +++ b/src/main/java/de/jottyfan/camporganizer/module/registration/RegistrationController.java @@ -44,6 +44,18 @@ public class RegistrationController extends CommonController { } } + /** + * userlogin is protected and leads the request to the keycloak login mask if not yet logged in + * + * @param fkCamp the ID of the camp + * @param model the model + * @return hen registration page + */ + @GetMapping("/userlogin/registration/{fkCamp}") + public String loginIndex(@PathVariable(name = "fkCamp", required = true) Integer fkCamp, Model model) { + return index(fkCamp, model); + } + @PostMapping("/registration/register") public String register(@Valid @ModelAttribute("bean") RegistrationBean bean, final BindingResult bindingResult, Model model) { diff --git a/src/main/resources/templates/registration/registration.html b/src/main/resources/templates/registration/registration.html index d04a236..e38a526 100644 --- a/src/main/resources/templates/registration/registration.html +++ b/src/main/resources/templates/registration/registration.html @@ -11,6 +11,7 @@

+

Teilnehmeranmeldung

[[${error}]] @@ -77,14 +78,17 @@
-
+
- +
+
+

Profildaten anlegen

Nutzername