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 import org.apache.myfaces.tobago.component.UICommand;
23
24 import javax.el.MethodExpression;
25 import javax.faces.context.FacesContext;
26
27
28 public class UISecuredCommand extends UICommand {
29
30 public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.SecuredCommand";
31
32
33
34
35 public UISecuredCommand() {
36 }
37
38 @Override
39 public boolean isDisabled() {
40 if (getActionExpression() instanceof CheckAuthorisationMethodExpression) {
41 return !((CheckAuthorisationMethodExpression)
42 getActionExpression()).isAuthorized(FacesContext.getCurrentInstance())
43 || super.isDisabled();
44 }
45 return super.isDisabled();
46 }
47
48 @Override
49 public void setActionExpression(MethodExpression actionExpression) {
50 if (actionExpression != null) {
51 super.setActionExpression(new CheckAuthorisationMethodExpression(actionExpression));
52 } else {
53 super.setActionExpression(actionExpression);
54 }
55 }
56 }