1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.security;
21
22
23 import org.apache.myfaces.tobago.component.UIMenuCommand;
24
25 import javax.el.MethodExpression;
26 import javax.faces.context.FacesContext;
27
28
29 public class UISecuredMenuCommand extends UIMenuCommand {
30
31 public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.SecuredMenuCommand";
32
33
34
35
36 public UISecuredMenuCommand() {
37 }
38
39 @Override
40 public boolean isDisabled() {
41 if (getActionExpression() instanceof CheckAuthorisationMethodExpression) {
42 return !((CheckAuthorisationMethodExpression)
43 getActionExpression()).isAuthorized(FacesContext.getCurrentInstance())
44 || super.isDisabled();
45 }
46 return super.isDisabled();
47 }
48
49 @Override
50 public void setActionExpression(MethodExpression actionExpression) {
51 if (actionExpression != null) {
52 super.setActionExpression(new CheckAuthorisationMethodExpression(actionExpression));
53 } else {
54 super.setActionExpression(actionExpression);
55 }
56 }
57 }