From 20f7a1da77bd2f9fb1dd54449f8c959a00acc22e Mon Sep 17 00:00:00 2001
From: "michele.artini"
Date: Wed, 21 Sep 2022 10:25:48 +0200
Subject: [PATCH] ui
---
.../organizations/MockSecurityConfig.java | 3 +-
.../controller/HomeController.java | 5 +++
.../organizations/controller/UserInfo.java | 1 +
.../templates/authorizationRequest.html | 36 +++++++++++--------
4 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/MockSecurityConfig.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/MockSecurityConfig.java
index dccbd71b..4e5a34e1 100644
--- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/MockSecurityConfig.java
+++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/MockSecurityConfig.java
@@ -21,6 +21,7 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.access.AccessDeniedHandler;
import eu.dnetlib.organizations.controller.UserInfo;
+import eu.dnetlib.organizations.controller.UserRole;
import eu.dnetlib.organizations.utils.OpenOrgsConstants;
@Profile("dev")
@@ -92,7 +93,7 @@ public class MockSecurityConfig extends WebSecurityConfigurerAdapter {
.usersByUsernameQuery("select ?, '{MD5}" + DigestUtils.md5Hex(DEFAULT_PASSWORD) + "', true")
.authoritiesByUsernameQuery("with const as (SELECT ? as email) "
+ "select c.email, 'ROLE_" + OpenOrgsConstants.OPENORGS_ROLE_PREFIX + "'||coalesce(u.role, '"
- + OpenOrgsConstants.NOT_AUTORIZED_ROLE
+ + UserRole.NOT_AUTHORIZED
+ "') from const c left outer join users u on (u.email = c.email)");
}
diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/HomeController.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/HomeController.java
index 3bde7bb9..b23bead1 100644
--- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/HomeController.java
+++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/HomeController.java
@@ -65,6 +65,11 @@ public class HomeController extends AbstractDnetController {
return authentication != null ? UserInfo.getEmail(authentication) : null;
}
+ @ModelAttribute("role")
+ public UserRole getUserRole(final Authentication authentication) {
+ return authentication != null ? UserInfo.findRole(authentication) : null;
+ }
+
@ModelAttribute("fullname")
public String getUserFullname(final Authentication authentication) {
return authentication != null ? UserInfo.getFullname(authentication) : null;
diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/UserInfo.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/UserInfo.java
index 8bdf1fe9..0809cc82 100644
--- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/UserInfo.java
+++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/UserInfo.java
@@ -42,6 +42,7 @@ public class UserInfo {
}
public static UserRole findRole(final Authentication authentication) {
+
return authentication.getAuthorities()
.stream()
.map(GrantedAuthority::getAuthority)
diff --git a/apps/dnet-orgs-database-application/src/main/resources/templates/authorizationRequest.html b/apps/dnet-orgs-database-application/src/main/resources/templates/authorizationRequest.html
index b2f785a6..eb3fb4a8 100644
--- a/apps/dnet-orgs-database-application/src/main/resources/templates/authorizationRequest.html
+++ b/apps/dnet-orgs-database-application/src/main/resources/templates/authorizationRequest.html
@@ -50,23 +50,31 @@