import java.security.AccessController;
import java.util.List;
+import java.util.Set;
import javax.naming.InvalidNameException;
import javax.naming.ldap.LdapName;
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;
return getUsername(getUser(userAdmin, dn));
}
+ /** Returns true if the current user is in the specified role */
+ public static boolean isUserInRole(String role) {
+ Set<String> roles = CurrentUser.roles();
+ return roles.contains(role);
+ }
+
public final static boolean isCurrentUser(User user) {
String userName = getProperty(user, LdifName.dn.name());
try {
/** 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;