X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Finternal%2FCurrentUser.java;h=7086de0afe689572f9c1d6eae16e33b5cd1b8775;hb=9dba7b01008499bdaf15c754190906d3200713fe;hp=43ca5884e968573e4c52633990f704664cdbf36d;hpb=d33e8191813f561cee96fbbbd3f74737070140d0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui/src/org/argeo/security/ui/internal/CurrentUser.java b/org.argeo.security.ui/src/org/argeo/security/ui/internal/CurrentUser.java index 43ca5884e..7086de0af 100644 --- a/org.argeo.security.ui/src/org/argeo/security/ui/internal/CurrentUser.java +++ b/org.argeo.security.ui/src/org/argeo/security/ui/internal/CurrentUser.java @@ -15,17 +15,9 @@ */ package org.argeo.security.ui.internal; -import java.security.AccessController; -import java.security.Principal; -import java.util.Collections; -import java.util.HashSet; import java.util.Set; -import javax.security.auth.Subject; - -import org.argeo.ArgeoException; -import org.springframework.security.Authentication; -import org.springframework.security.GrantedAuthority; +import org.argeo.security.SecurityUtils; /** * Retrieves information about the current user. Not an API, can change without @@ -33,38 +25,10 @@ import org.springframework.security.GrantedAuthority; */ public class CurrentUser { public final static String getUsername() { - Subject subject = getSubject(); - if (subject == null) - return null; - Principal principal = subject.getPrincipals().iterator().next(); - return principal.getName(); - + return SecurityUtils.getCurrentThreadUsername(); } public final static Set roles() { - Set roles = Collections.synchronizedSet(new HashSet()); - Authentication authentication = getAuthentication(); - for (GrantedAuthority ga : authentication.getAuthorities()) { - roles.add(ga.getAuthority()); - } - return Collections.unmodifiableSet(roles); - } - - public final static Authentication getAuthentication() { - Set authens = getSubject().getPrincipals( - Authentication.class); - if (authens != null && !authens.isEmpty()) { - Principal principal = authens.iterator().next(); - Authentication authentication = (Authentication) principal; - return authentication; - } - throw new ArgeoException("No authentication found"); - } - - public final static Subject getSubject() { - Subject subject = Subject.getSubject(AccessController.getContext()); - if (subject == null) - throw new ArgeoException("Not authenticated."); - return subject; + return SecurityUtils.roles(); } }