public class AuthFilterMenuVisitor extends Object implements org.uberfire.workbench.model.menu.MenuVisitor
Constructor and Description |
---|
AuthFilterMenuVisitor(AuthorizationManager authzManager,
org.jboss.errai.security.shared.api.identity.User user,
org.uberfire.workbench.model.menu.MenuVisitor chainedVisitor)
Wraps the given menu visitor, only forwarding calls that represent menu items the given user is allowed to see.
|
Modifier and Type | Method and Description |
---|---|
boolean |
authorize(org.uberfire.workbench.model.menu.MenuItem item)
Check the user is allowed to access the given menu item.
|
void |
visit(org.uberfire.workbench.model.menu.MenuCustom<?> menuCustom) |
void |
visit(org.uberfire.workbench.model.menu.MenuItemCommand menuItemCommand) |
void |
visit(org.uberfire.workbench.model.menu.MenuItemPerspective menuItemPerspective) |
void |
visit(org.uberfire.workbench.model.menu.MenuItemPlain menuItemPlain) |
boolean |
visitEnter(org.uberfire.workbench.model.menu.MenuGroup menuGroup) |
boolean |
visitEnter(org.uberfire.workbench.model.menu.Menus menus) |
void |
visitLeave(org.uberfire.workbench.model.menu.MenuGroup menuGroup) |
void |
visitLeave(org.uberfire.workbench.model.menu.Menus menus) |
public AuthFilterMenuVisitor(AuthorizationManager authzManager, org.jboss.errai.security.shared.api.identity.User user, org.uberfire.workbench.model.menu.MenuVisitor chainedVisitor)
authzManager
- The authorization manager that decides what is visible. Not null.user
- The user who will see the menus being visited. Not null.chainedVisitor
- The menu visitor that receives calls for all authorized parts of the menu tree. Not null.public boolean visitEnter(org.uberfire.workbench.model.menu.Menus menus)
visitEnter
in interface org.uberfire.workbench.model.menu.MenuVisitor
public void visitLeave(org.uberfire.workbench.model.menu.Menus menus)
visitLeave
in interface org.uberfire.workbench.model.menu.MenuVisitor
public boolean visitEnter(org.uberfire.workbench.model.menu.MenuGroup menuGroup)
visitEnter
in interface org.uberfire.workbench.model.menu.MenuVisitor
public void visitLeave(org.uberfire.workbench.model.menu.MenuGroup menuGroup)
visitLeave
in interface org.uberfire.workbench.model.menu.MenuVisitor
public void visit(org.uberfire.workbench.model.menu.MenuItemPlain menuItemPlain)
visit
in interface org.uberfire.workbench.model.menu.MenuVisitor
public void visit(org.uberfire.workbench.model.menu.MenuItemCommand menuItemCommand)
visit
in interface org.uberfire.workbench.model.menu.MenuVisitor
public void visit(org.uberfire.workbench.model.menu.MenuCustom<?> menuCustom)
visit
in interface org.uberfire.workbench.model.menu.MenuVisitor
public void visit(org.uberfire.workbench.model.menu.MenuItemPerspective menuItemPerspective)
visit
in interface org.uberfire.workbench.model.menu.MenuVisitor
public boolean authorize(org.uberfire.workbench.model.menu.MenuItem item)
If the item has any references to resource actions ResourceActionRef
or custom permissions
then the access is granted provided all those references are also granted.
Copyright © 2012–2019 JBoss by Red Hat. All rights reserved.