X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Feclipse%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2FSecurityPerspective.java;h=9187c7830a4c1beeed9a68967cf1a1117b15eb13;hb=d685633924a5ee0328f5053b375564ca8fe969e6;hp=63e327eee5bbfcf8d526e542c2b3b264b4fc1c95;hpb=5fdef8bfcf058d698a9be5bcc1ae8cdcbe4ce0f0;p=lgpl%2Fargeo-commons.git diff --git a/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/SecurityPerspective.java b/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/SecurityPerspective.java index 63e327eee..9187c7830 100644 --- a/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/SecurityPerspective.java +++ b/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/SecurityPerspective.java @@ -1,12 +1,24 @@ 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); @@ -16,7 +28,11 @@ public class SecurityPerspective implements IPerspectiveFactory { 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; } }