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); IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.4f, editorArea); left.addView("org.argeo.security.ui.usersView"); left.addView("org.argeo.security.ui.rolesView"); // left.addView("org.argeo.security.ui.currentUserView"); } public void setAdminRole(String adminRole) { this.adminRole = adminRole; } }