Package org.uberfire.client.menu
Class AuthFilterMenuVisitor
- java.lang.Object
-
- org.uberfire.client.menu.AuthFilterMenuVisitor
-
- All Implemented Interfaces:
org.uberfire.workbench.model.menu.MenuVisitor
public class AuthFilterMenuVisitor extends Object implements org.uberfire.workbench.model.menu.MenuVisitor
Wraps a menu visitor, filtering out menu items that a given user is not allowed to access. The wrapped visitor only sees the items that the user is allowed to see.
-
-
Constructor Summary
Constructors Constructor Description AuthFilterMenuVisitor(org.uberfire.security.authz.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanauthorize(org.uberfire.workbench.model.menu.MenuItem item)Check the user is allowed to access the given menu item.voidvisit(org.uberfire.workbench.model.menu.MenuCustom<?> menuCustom)voidvisit(org.uberfire.workbench.model.menu.MenuItemCommand menuItemCommand)voidvisit(org.uberfire.workbench.model.menu.MenuItemPerspective menuItemPerspective)voidvisit(org.uberfire.workbench.model.menu.MenuItemPlain menuItemPlain)booleanvisitEnter(org.uberfire.workbench.model.menu.MenuGroup menuGroup)booleanvisitEnter(org.uberfire.workbench.model.menu.Menus menus)voidvisitLeave(org.uberfire.workbench.model.menu.MenuGroup menuGroup)voidvisitLeave(org.uberfire.workbench.model.menu.Menus menus)
-
-
-
Constructor Detail
-
AuthFilterMenuVisitor
public AuthFilterMenuVisitor(org.uberfire.security.authz.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.- Parameters:
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.
-
-
Method Detail
-
visitEnter
public boolean visitEnter(org.uberfire.workbench.model.menu.Menus menus)
- Specified by:
visitEnterin interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visitLeave
public void visitLeave(org.uberfire.workbench.model.menu.Menus menus)
- Specified by:
visitLeavein interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visitEnter
public boolean visitEnter(org.uberfire.workbench.model.menu.MenuGroup menuGroup)
- Specified by:
visitEnterin interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visitLeave
public void visitLeave(org.uberfire.workbench.model.menu.MenuGroup menuGroup)
- Specified by:
visitLeavein interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visit
public void visit(org.uberfire.workbench.model.menu.MenuItemPlain menuItemPlain)
- Specified by:
visitin interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visit
public void visit(org.uberfire.workbench.model.menu.MenuItemCommand menuItemCommand)
- Specified by:
visitin interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visit
public void visit(org.uberfire.workbench.model.menu.MenuCustom<?> menuCustom)
- Specified by:
visitin interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
visit
public void visit(org.uberfire.workbench.model.menu.MenuItemPerspective menuItemPerspective)
- Specified by:
visitin interfaceorg.uberfire.workbench.model.menu.MenuVisitor
-
authorize
public boolean authorize(org.uberfire.workbench.model.menu.MenuItem item)
Check the user is allowed to access the given menu item.If the item has any references to resource actions
ResourceActionRefor custom permissions then the access is granted provided all those references are also granted.
-
-