2
2
3
3
import com .google .common .base .Optional ;
4
4
import restx .RestxRequest ;
5
+ import restx .RestxRequestMatch ;
5
6
6
7
import java .util .Arrays ;
7
8
12
13
public class Permissions {
13
14
private static final Permission OPEN = new Permission () {
14
15
@ Override
15
- public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request ) {
16
+ public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request , RestxRequestMatch match ) {
16
17
return Optional .of (this );
17
18
}
18
19
@@ -23,7 +24,7 @@ public String toString() {
23
24
};
24
25
private static final Permission IS_AUTHENTICATED = new Permission () {
25
26
@ Override
26
- public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request ) {
27
+ public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request , RestxRequestMatch match ) {
27
28
return Optional .of (this );
28
29
}
29
30
@@ -57,7 +58,7 @@ public static Permission hasRole(final String role) {
57
58
public final String TO_STRING = "HAS_ROLE[" + role + "]" ;
58
59
59
60
@ Override
60
- public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request ) {
61
+ public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request , RestxRequestMatch match ) {
61
62
return principal .getPrincipalRoles ().contains (role ) || principal .getPrincipalRoles ().contains ("*" )
62
63
? Optional .of (this ) : Optional .<Permission >absent ();
63
64
}
@@ -75,9 +76,9 @@ public String toString() {
75
76
public static Permission anyOf (final Permission ... permissions ) {
76
77
return new Permission () {
77
78
@ Override
78
- public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request ) {
79
+ public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request , RestxRequestMatch match ) {
79
80
for (Permission permission : permissions ) {
80
- Optional <? extends Permission > p = permission .has (principal , request );
81
+ Optional <? extends Permission > p = permission .has (principal , request , match );
81
82
if (p .isPresent ()) {
82
83
return p ;
83
84
}
@@ -99,9 +100,9 @@ public String toString() {
99
100
public static Permission allOf (final Permission ... permissions ) {
100
101
return new Permission () {
101
102
@ Override
102
- public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request ) {
103
+ public Optional <? extends Permission > has (RestxPrincipal principal , RestxRequest request , RestxRequestMatch match ) {
103
104
for (Permission permission : permissions ) {
104
- Optional <? extends Permission > p = permission .has (principal , request );
105
+ Optional <? extends Permission > p = permission .has (principal , request , match );
105
106
if (!p .isPresent ()) {
106
107
return Optional .absent ();
107
108
}
0 commit comments