Loading CommonComponents/pom.xml 0 → 100644 +49 −0 Original line number Diff line number Diff line <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cz.muni.fi.lasaris.sbms</groupId> <artifactId>CommonComponents</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>CommonComponents</name> <url>https://gitlab.fi.muni.cz/xkucer16/semanticBMS</url> <dependencyManagement> <dependencies> <dependency> <groupId>org.glassfish.jersey</groupId> <artifactId>jersey-bom</artifactId> <version>${jersey.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> </dependencies> <properties> <jersey.version>2.22.1</jersey.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project> SemanticAPI/src/main/java/cz/muni/fi/lasaris/sbms/semantics/api/auth/AuthProvider.java→CommonComponents/src/main/java/cz/muni/fi/lasaris/sbms/auth/AuthProvider.java +5 −1 Original line number Diff line number Diff line package cz.muni.fi.lasaris.sbms.semantics.api.auth; package cz.muni.fi.lasaris.sbms.auth; import java.util.Properties; import javax.ws.rs.container.ContainerRequestContext; public interface AuthProvider { void init(Properties props); boolean authenticate(String user, String password, ContainerRequestContext requestContext); boolean authorize(String user, String role, ContainerRequestContext requestContext); Loading SemanticAPI/src/main/java/cz/muni/fi/lasaris/sbms/semantics/api/auth/AuthenticationFilter.java→CommonComponents/src/main/java/cz/muni/fi/lasaris/sbms/auth/AuthenticationFilter.java +17 −6 Original line number Diff line number Diff line package cz.muni.fi.lasaris.sbms.semantics.api.auth; package cz.muni.fi.lasaris.sbms.auth; import java.io.IOException; import java.security.Principal; import java.util.Properties; import javax.annotation.Priority; import javax.ws.rs.Priorities; Loading @@ -12,8 +13,6 @@ import javax.xml.bind.DatatypeConverter; import org.apache.log4j.Logger; import cz.muni.fi.lasaris.sbms.semantics.Application; //http://stackoverflow.com/questions/17068528/authorization-with-rolesalloweddynamicfeature-and-jersey @Priority(Priorities.AUTHENTICATION) public class AuthenticationFilter implements ContainerRequestFilter { Loading @@ -21,13 +20,20 @@ public class AuthenticationFilter implements ContainerRequestFilter { private AuthProvider ap; private static Properties props = null; public static void setProperties(Properties props) { AuthenticationFilter.props = props; } public AuthenticationFilter() { super(); try { String className = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.provider"); String className = AuthenticationFilter.props.getProperty("auth.provider"); if(className != null) { Class<?> c = Class.forName(className); ap = (AuthProvider)c.newInstance(); ap.init(props); } else { throw new IllegalArgumentException("customAuth is required but no AuthProvider implementation is provided."); } Loading @@ -36,6 +42,7 @@ public class AuthenticationFilter implements ContainerRequestFilter { logger.error("Unable to load AuthProvider - allowing all users."); ap = new AuthProvider() { @Override public boolean authenticate(String user, String password, ContainerRequestContext requestContext) { return true; Loading @@ -46,6 +53,10 @@ public class AuthenticationFilter implements ContainerRequestFilter { return true; } @Override public void init(Properties props) { } }; } } Loading SemanticAPI/src/main/java/cz/muni/fi/lasaris/sbms/semantics/api/auth/PropertiesAuthProvider.java→CommonComponents/src/main/java/cz/muni/fi/lasaris/sbms/auth/PropertiesAuthProvider.java +20 −16 Original line number Diff line number Diff line package cz.muni.fi.lasaris.sbms.semantics.api.auth; package cz.muni.fi.lasaris.sbms.auth; import java.util.HashMap; import java.util.Map; import java.util.Properties; import javax.ws.rs.container.ContainerRequestContext; import cz.muni.fi.lasaris.sbms.semantics.Application; public class PropertiesAuthProvider implements AuthProvider { Map<String,String> passwords; Map<String, String> roles; public PropertiesAuthProvider() { } @Override public boolean authenticate(String user, String password, ContainerRequestContext requestContext) { return passwords.containsKey(user) && passwords.get(user).equals(password); } @Override public boolean authorize(String user, String role, ContainerRequestContext requestContext) { return roles.containsKey("user") && roles.get(user).equals(role); } @Override public void init(Properties props) { this.passwords = new HashMap<String, String>(); this.roles = new HashMap<String, String>(); String usersProp = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.users"); String roleUProp = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.roles.user"); String roleAProp = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.roles.admin"); String usersProp = props.getProperty("auth.propertiesAuth.users"); String roleUProp = props.getProperty("auth.propertiesAuth.roles.user"); String roleAProp = props.getProperty("auth.propertiesAuth.roles.admin"); if(usersProp != null) { String[] ups = usersProp.split("\\|"); Loading @@ -45,14 +59,4 @@ public class PropertiesAuthProvider implements AuthProvider { } @Override public boolean authenticate(String user, String password, ContainerRequestContext requestContext) { return passwords.containsKey(user) && passwords.get(user).equals(password); } @Override public boolean authorize(String user, String role, ContainerRequestContext requestContext) { return roles.containsKey("user") && roles.get(user).equals(role); } } DataAccessAPI/pom.xml +13 −28 Original line number Diff line number Diff line Loading @@ -2,13 +2,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cz.muni.fi.lasaris</groupId> <groupId>cz.muni.fi.lasaris.sbms</groupId> <artifactId>DataAccessAPI</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>DataAccessAPI</name> <url>http://maven.apache.org</url> <url>https://gitlab.fi.muni.cz/xkucer16/semanticBMS</url> <dependencyManagement> <dependencies> Loading @@ -24,8 +24,8 @@ <dependencies> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-grizzly2-http</artifactId> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> </dependency> <dependency> Loading @@ -34,13 +34,6 @@ <!-- <version>${jersey.version}</version> --> </dependency> <dependency> <groupId>org.apache.jena</groupId> <artifactId>apache-jena-libs</artifactId> <type>pom</type> <version>3.0.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> Loading @@ -48,6 +41,13 @@ <scope>test</scope> </dependency> <dependency> <groupId>cz.muni.fi.lasaris.sbms</groupId> <artifactId>CommonComponents</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> <build> Loading @@ -61,21 +61,6 @@ <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>cz.muni.fi.lasaris.sbms.Main</mainClass> </configuration> </plugin> </plugins> </build> Loading Loading
CommonComponents/pom.xml 0 → 100644 +49 −0 Original line number Diff line number Diff line <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cz.muni.fi.lasaris.sbms</groupId> <artifactId>CommonComponents</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>CommonComponents</name> <url>https://gitlab.fi.muni.cz/xkucer16/semanticBMS</url> <dependencyManagement> <dependencies> <dependency> <groupId>org.glassfish.jersey</groupId> <artifactId>jersey-bom</artifactId> <version>${jersey.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> </dependencies> <properties> <jersey.version>2.22.1</jersey.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project>
SemanticAPI/src/main/java/cz/muni/fi/lasaris/sbms/semantics/api/auth/AuthProvider.java→CommonComponents/src/main/java/cz/muni/fi/lasaris/sbms/auth/AuthProvider.java +5 −1 Original line number Diff line number Diff line package cz.muni.fi.lasaris.sbms.semantics.api.auth; package cz.muni.fi.lasaris.sbms.auth; import java.util.Properties; import javax.ws.rs.container.ContainerRequestContext; public interface AuthProvider { void init(Properties props); boolean authenticate(String user, String password, ContainerRequestContext requestContext); boolean authorize(String user, String role, ContainerRequestContext requestContext); Loading
SemanticAPI/src/main/java/cz/muni/fi/lasaris/sbms/semantics/api/auth/AuthenticationFilter.java→CommonComponents/src/main/java/cz/muni/fi/lasaris/sbms/auth/AuthenticationFilter.java +17 −6 Original line number Diff line number Diff line package cz.muni.fi.lasaris.sbms.semantics.api.auth; package cz.muni.fi.lasaris.sbms.auth; import java.io.IOException; import java.security.Principal; import java.util.Properties; import javax.annotation.Priority; import javax.ws.rs.Priorities; Loading @@ -12,8 +13,6 @@ import javax.xml.bind.DatatypeConverter; import org.apache.log4j.Logger; import cz.muni.fi.lasaris.sbms.semantics.Application; //http://stackoverflow.com/questions/17068528/authorization-with-rolesalloweddynamicfeature-and-jersey @Priority(Priorities.AUTHENTICATION) public class AuthenticationFilter implements ContainerRequestFilter { Loading @@ -21,13 +20,20 @@ public class AuthenticationFilter implements ContainerRequestFilter { private AuthProvider ap; private static Properties props = null; public static void setProperties(Properties props) { AuthenticationFilter.props = props; } public AuthenticationFilter() { super(); try { String className = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.provider"); String className = AuthenticationFilter.props.getProperty("auth.provider"); if(className != null) { Class<?> c = Class.forName(className); ap = (AuthProvider)c.newInstance(); ap.init(props); } else { throw new IllegalArgumentException("customAuth is required but no AuthProvider implementation is provided."); } Loading @@ -36,6 +42,7 @@ public class AuthenticationFilter implements ContainerRequestFilter { logger.error("Unable to load AuthProvider - allowing all users."); ap = new AuthProvider() { @Override public boolean authenticate(String user, String password, ContainerRequestContext requestContext) { return true; Loading @@ -46,6 +53,10 @@ public class AuthenticationFilter implements ContainerRequestFilter { return true; } @Override public void init(Properties props) { } }; } } Loading
SemanticAPI/src/main/java/cz/muni/fi/lasaris/sbms/semantics/api/auth/PropertiesAuthProvider.java→CommonComponents/src/main/java/cz/muni/fi/lasaris/sbms/auth/PropertiesAuthProvider.java +20 −16 Original line number Diff line number Diff line package cz.muni.fi.lasaris.sbms.semantics.api.auth; package cz.muni.fi.lasaris.sbms.auth; import java.util.HashMap; import java.util.Map; import java.util.Properties; import javax.ws.rs.container.ContainerRequestContext; import cz.muni.fi.lasaris.sbms.semantics.Application; public class PropertiesAuthProvider implements AuthProvider { Map<String,String> passwords; Map<String, String> roles; public PropertiesAuthProvider() { } @Override public boolean authenticate(String user, String password, ContainerRequestContext requestContext) { return passwords.containsKey(user) && passwords.get(user).equals(password); } @Override public boolean authorize(String user, String role, ContainerRequestContext requestContext) { return roles.containsKey("user") && roles.get(user).equals(role); } @Override public void init(Properties props) { this.passwords = new HashMap<String, String>(); this.roles = new HashMap<String, String>(); String usersProp = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.users"); String roleUProp = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.roles.user"); String roleAProp = Application.getInstance().getSBMSProperties().getProperty("api.customAuth.roles.admin"); String usersProp = props.getProperty("auth.propertiesAuth.users"); String roleUProp = props.getProperty("auth.propertiesAuth.roles.user"); String roleAProp = props.getProperty("auth.propertiesAuth.roles.admin"); if(usersProp != null) { String[] ups = usersProp.split("\\|"); Loading @@ -45,14 +59,4 @@ public class PropertiesAuthProvider implements AuthProvider { } @Override public boolean authenticate(String user, String password, ContainerRequestContext requestContext) { return passwords.containsKey(user) && passwords.get(user).equals(password); } @Override public boolean authorize(String user, String role, ContainerRequestContext requestContext) { return roles.containsKey("user") && roles.get(user).equals(role); } }
DataAccessAPI/pom.xml +13 −28 Original line number Diff line number Diff line Loading @@ -2,13 +2,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cz.muni.fi.lasaris</groupId> <groupId>cz.muni.fi.lasaris.sbms</groupId> <artifactId>DataAccessAPI</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>DataAccessAPI</name> <url>http://maven.apache.org</url> <url>https://gitlab.fi.muni.cz/xkucer16/semanticBMS</url> <dependencyManagement> <dependencies> Loading @@ -24,8 +24,8 @@ <dependencies> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-grizzly2-http</artifactId> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> </dependency> <dependency> Loading @@ -34,13 +34,6 @@ <!-- <version>${jersey.version}</version> --> </dependency> <dependency> <groupId>org.apache.jena</groupId> <artifactId>apache-jena-libs</artifactId> <type>pom</type> <version>3.0.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> Loading @@ -48,6 +41,13 @@ <scope>test</scope> </dependency> <dependency> <groupId>cz.muni.fi.lasaris.sbms</groupId> <artifactId>CommonComponents</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> <build> Loading @@ -61,21 +61,6 @@ <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>cz.muni.fi.lasaris.sbms.Main</mainClass> </configuration> </plugin> </plugins> </build> Loading