Commit 4049ceeace6fd616e7473c9365e4dfa4993bd082
1 parent
4bdaff89
Exists in
master
O interceptor não estava considerando a anotação na classe no momento da
extração da operation e do resource
Showing
1 changed file
with
13 additions
and
3 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java
... | ... | @@ -124,7 +124,12 @@ public class RequiredPermissionInterceptor implements Serializable { |
124 | 124 | * annotation or the class name itself |
125 | 125 | */ |
126 | 126 | private String getResource(InvocationContext ic) { |
127 | - RequiredPermission requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); | |
127 | + RequiredPermission requiredPermission; | |
128 | + requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); | |
129 | + | |
130 | + if(requiredPermission == null){ | |
131 | + requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class); | |
132 | + } | |
128 | 133 | |
129 | 134 | if (requiredPermission == null || Strings.isEmpty(requiredPermission.resource())) { |
130 | 135 | if (ic.getTarget().getClass().getAnnotation(Name.class) == null) { |
... | ... | @@ -147,8 +152,13 @@ public class RequiredPermissionInterceptor implements Serializable { |
147 | 152 | * annotation or the method's name itself |
148 | 153 | */ |
149 | 154 | private String getOperation(InvocationContext ic) { |
150 | - RequiredPermission requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); | |
151 | - | |
155 | + RequiredPermission requiredPermission; | |
156 | + requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class); | |
157 | + | |
158 | + if(requiredPermission == null){ | |
159 | + requiredPermission = ic.getTarget().getClass().getAnnotation(RequiredPermission.class); | |
160 | + } | |
161 | + | |
152 | 162 | if (requiredPermission == null || Strings.isEmpty(requiredPermission.operation())) { |
153 | 163 | if (ic.getMethod().getAnnotation(Name.class) == null) { |
154 | 164 | return ic.getMethod().getName(); | ... | ... |