X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Finternal%2FUiAdminUtils.java;h=cb1396c957537527c40d7b5db4f4f29082b6270e;hb=98f57ce4987d7a7bfcea4806b20520f1a01830fa;hp=c23f01cff77f31615562af7ae5eee2b6c3a78856;hpb=935a76bdd458e4fb8502783946cb910324388da8;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java index c23f01cff..cb1396c95 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java @@ -2,6 +2,7 @@ package org.argeo.security.ui.admin.internal; import java.security.AccessController; import java.util.List; +import java.util.Set; import javax.naming.InvalidNameException; import javax.naming.ldap.LdapName; @@ -12,6 +13,8 @@ import javax.transaction.Status; import javax.transaction.UserTransaction; import org.argeo.ArgeoException; +import org.argeo.cms.auth.AuthConstants; +import org.argeo.cms.auth.CurrentUser; import org.argeo.osgi.useradmin.LdifName; import org.argeo.security.ui.admin.internal.providers.UserTransactionProvider; import org.eclipse.ui.IWorkbenchWindow; @@ -30,6 +33,12 @@ public class UiAdminUtils { return getUsername(getUser(userAdmin, dn)); } + /** Returns true if the current user is in the specified role */ + public static boolean isUserInRole(String role) { + Set roles = CurrentUser.roles(); + return roles.contains(role); + } + public final static boolean isCurrentUser(User user) { String userName = getProperty(user, LdifName.dn.name()); try { @@ -73,7 +82,7 @@ public class UiAdminUtils { /** Simply retrieves a display name of the relevant domain */ public final static String getDomainName(User user) { String dn = (String) user.getProperties().get(LdifName.dn.name()); - if (dn.endsWith(UserAdminConstants.SYSTEM_ROLE_BASE_DN)) + if (dn.endsWith(AuthConstants.ROLES_BASEDN)) return "System roles"; try { LdapName name;