Difference between revisions of "Authorization control library"
From Gcube Wiki
Lucio.lelii (Talk | contribs) |
Lucio.lelii (Talk | contribs) |
||
Line 5: | Line 5: | ||
= How To = | = How To = | ||
+ | |||
+ | == pom file == | ||
To enable authorization control on your gcube service the ''pom.xml'' must be modified in the following way: | To enable authorization control on your gcube service the ''pom.xml'' must be modified in the following way: | ||
Line 17: | Line 19: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | * since this library use ''aspectJ'' this dependency must be added | + | * since this library use ''aspectJ'' also this dependency must be added |
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 68: | Line 70: | ||
</plugin> | </plugin> | ||
... | ... | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === example === | ||
+ | |||
+ | an example pom is the following | ||
+ | |||
+ | <syntaxhighlight lang="xml"> | ||
+ | ... | ||
+ | <dependencies> | ||
+ | <dependency> | ||
+ | <groupId>org.gcube.common</groupId> | ||
+ | <artifactId>authorization-control-library</artifactId> | ||
+ | <version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>org.aspectj</groupId> | ||
+ | <artifactId>aspectjrt</artifactId> | ||
+ | <version>1.8.2</version> | ||
+ | </dependency> | ||
+ | ... | ||
+ | </dependencies> | ||
+ | <build> | ||
+ | <finalName>${project.artifactId}</finalName> | ||
+ | <pluginManagement> | ||
+ | <plugins> | ||
+ | <plugin> | ||
+ | <groupId>org.codehaus.mojo</groupId> | ||
+ | <artifactId>aspectj-maven-plugin</artifactId> | ||
+ | <version>1.7</version> | ||
+ | <configuration> | ||
+ | <complianceLevel>1.8</complianceLevel> | ||
+ | <source>1.8</source> | ||
+ | <target>1.8</target> | ||
+ | <aspectLibraries> | ||
+ | <aspectLibrary> | ||
+ | <groupId>org.gcube.common</groupId> | ||
+ | <artifactId>authorization-control-library</artifactId> | ||
+ | </aspectLibrary> | ||
+ | </aspectLibraries> | ||
+ | </configuration> | ||
+ | <executions> | ||
+ | <execution> | ||
+ | <goals> | ||
+ | <goal>compile</goal> | ||
+ | </goals> | ||
+ | </execution> | ||
+ | </executions> | ||
+ | </plugin> | ||
+ | </plugins> | ||
+ | </pluginManagement> | ||
+ | <plugins> | ||
+ | <plugin> | ||
+ | <groupId>org.codehaus.mojo</groupId> | ||
+ | <artifactId>aspectj-maven-plugin</artifactId> | ||
+ | </plugin> | ||
+ | </plugins> | ||
+ | </build> | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 16:43, 14 September 2022
Contents |
Authorization Control Library
allows gcube services to automatically filter methods using specific rules based on user roles
How To
pom file
To enable authorization control on your gcube service the pom.xml must be modified in the following way:
- add the authorization control library dependency
<dependency> <groupId>org.gcube.common</groupId> <artifactId>authorization-control-library</artifactId> </dependency>
- since this library use aspectJ also this dependency must be added
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.2</version> </dependency>
- the plugin must be declared in the plugins block
<plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> </plugin> ...
- and execution added in the build block
<build> ... <pluginManagement> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>1.7</version> <configuration> <complianceLevel>1.8</complianceLevel> <source>1.8</source> <target>1.8</target> <aspectLibraries> <aspectLibrary> <groupId>org.gcube.common</groupId> <artifactId>authorization-control-library</artifactId> </aspectLibrary> </aspectLibraries> </configuration> <executions> <execution> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin> ...
example
an example pom is the following
... <dependencies> <dependency> <groupId>org.gcube.common</groupId> <artifactId>authorization-control-library</artifactId> <version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.2</version> </dependency> ... </dependencies> <build> <finalName>${project.artifactId}</finalName> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>1.7</version> <configuration> <complianceLevel>1.8</complianceLevel> <source>1.8</source> <target>1.8</target> <aspectLibraries> <aspectLibrary> <groupId>org.gcube.common</groupId> <artifactId>authorization-control-library</artifactId> </aspectLibrary> </aspectLibraries> </configuration> <executions> <execution> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> </plugin> </plugins> </build>