package org.argeo.security.ui;
+import org.argeo.security.equinox.CurrentUser;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
public class SecurityPerspective implements IPerspectiveFactory {
+ private String adminRole = "ROLE_ADMIN";
public void createInitialLayout(IPageLayout layout) {
+ if (!CurrentUser.roles().contains(adminRole)) {
+ MessageDialog
+ .openError(Display.getCurrent().getActiveShell(),
+ "Forbidden",
+ "You are not allowed to access this resource.");
+ return;
+ }
+
String editorArea = layout.getEditorArea();
layout.setEditorAreaVisible(true);
layout.setFixed(false);
left.addView("org.argeo.security.ui.usersView");
left.addView("org.argeo.security.ui.rolesView");
- //left.addView("org.argeo.security.ui.currentUserView");
+ // left.addView("org.argeo.security.ui.currentUserView");
+ }
+
+ public void setAdminRole(String adminRole) {
+ this.adminRole = adminRole;
}
}