From 79cdb2f97c7dcf2fc228b27f3cc68f0af00d2d39 Mon Sep 17 00:00:00 2001 From: "lucio.lelii" Date: Mon, 3 Dec 2018 11:11:22 +0000 Subject: [PATCH] git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/Common/authorization-common-library@174510 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 51 ------------------- .../annotations/AuthorizationControl.java | 18 ------- .../library/aspect/AuthorizationAspect.java | 42 --------------- 3 files changed, 111 deletions(-) delete mode 100644 src/main/java/org/gcube/common/authorization/library/annotations/AuthorizationControl.java delete mode 100644 src/main/java/org/gcube/common/authorization/library/aspect/AuthorizationAspect.java diff --git a/pom.xml b/pom.xml index b8cad21..7756bdc 100644 --- a/pom.xml +++ b/pom.xml @@ -47,58 +47,7 @@ - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - org.codehaus.mojo - aspectj-maven-plugin - [1.0,) - - test-compile - compile - - - - - - - - - - - - org.codehaus.mojo - aspectj-maven-plugin - 1.7 - - 1.8 - 1.8 - 1.8 - - - - - compile - - - - - - - - - org.codehaus.mojo - aspectj-maven-plugin - org.apache.maven.plugins maven-compiler-plugin diff --git a/src/main/java/org/gcube/common/authorization/library/annotations/AuthorizationControl.java b/src/main/java/org/gcube/common/authorization/library/annotations/AuthorizationControl.java deleted file mode 100644 index 6f35b31..0000000 --- a/src/main/java/org/gcube/common/authorization/library/annotations/AuthorizationControl.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.gcube.common.authorization.library.annotations; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.gcube.common.authorization.library.policies.Action; - -@Inherited -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -public @interface AuthorizationControl { - - Action[] actions() default {Action.ALL}; - String[] allowed() default {}; -} diff --git a/src/main/java/org/gcube/common/authorization/library/aspect/AuthorizationAspect.java b/src/main/java/org/gcube/common/authorization/library/aspect/AuthorizationAspect.java deleted file mode 100644 index 3c1b196..0000000 --- a/src/main/java/org/gcube/common/authorization/library/aspect/AuthorizationAspect.java +++ /dev/null @@ -1,42 +0,0 @@ - -package org.gcube.common.authorization.library.aspect; - -import java.lang.reflect.Method; -import java.util.Arrays; - -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.aspectj.lang.annotation.Pointcut; -import org.aspectj.lang.reflect.MethodSignature; -import org.gcube.common.authorization.library.annotations.AuthorizationControl; -import org.gcube.common.authorization.library.provider.AuthorizationProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@Aspect -public class AuthorizationAspect { - - Logger log = LoggerFactory.getLogger(AuthorizationAspect.class); - - @Pointcut("@annotation(org.gcube.common.authorization.library.annotations.AuthorizationControl)") - public void authorizationEntryPoint() { - } - - - @Pointcut("execution(* *.*(..))") - public void anyCall() { - } - - @Before("authorizationEntryPoint() && anyCall()") - public void before(JoinPoint joinPoint) { - MethodSignature signature = (MethodSignature) joinPoint.getSignature(); - Method method = signature.getMethod(); - AuthorizationControl authAnn = (AuthorizationControl) method.getAnnotation(AuthorizationControl.class); - log.info("aspect before with annotation {} with action {}, allowed {} in method {}", authAnn.annotationType(), authAnn.actions(), authAnn.allowed(), method.getName()); - String userId = AuthorizationProvider.instance.get().getClient().getId(); - if (authAnn.allowed().length!=0 && !Arrays.asList(authAnn.allowed()).contains(userId)) - throw new RuntimeException("user not allowed to call method "+method.getName()); - } - -}