Commit 4049ceeace6fd616e7473c9365e4dfa4993bd082

Authored by Emerson Oliveira
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
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();
... ...