You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2013/09/25 23:44:36 UTC

svn commit: r1526315 - in /airavata/trunk: ./ modules/distribution/airavata-server/ modules/distribution/airavata-server/src/main/assembly/ modules/rest/webapp/ modules/rest/webapp/src/main/webapp/WEB-INF/ modules/server/ modules/server/src/main/java/o...

Author: chathuri
Date: Wed Sep 25 21:44:36 2013
New Revision: 1526315

URL: http://svn.apache.org/r1526315
Log:
committing viknesh's patch for AIRAVATA-870

Modified:
    airavata/trunk/modules/distribution/airavata-server/pom.xml
    airavata/trunk/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
    airavata/trunk/modules/rest/webapp/pom.xml
    airavata/trunk/modules/rest/webapp/src/main/webapp/WEB-INF/web.xml
    airavata/trunk/modules/server/pom.xml
    airavata/trunk/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
    airavata/trunk/pom.xml

Modified: airavata/trunk/modules/distribution/airavata-server/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/distribution/airavata-server/pom.xml?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/modules/distribution/airavata-server/pom.xml (original)
+++ airavata/trunk/modules/distribution/airavata-server/pom.xml Wed Sep 25 21:44:36 2013
@@ -617,6 +617,11 @@
             <artifactId>jopt-simple</artifactId>
             <version>3.2</version>
         </dependency>
+        <dependency>
+            <groupId>org.ebaysf.web</groupId>
+            <artifactId>cors-filter</artifactId>
+            <version>${ebay.cors.filter}</version>
+        </dependency>
     </dependencies>
 
 

Modified: airavata/trunk/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml (original)
+++ airavata/trunk/modules/distribution/airavata-server/src/main/assembly/bin-assembly.xml Wed Sep 25 21:44:36 2013
@@ -284,6 +284,7 @@
                 <include>org.apache.httpcomponents:httpclient:jar:4.1</include>
                 <include>de.odysseus.staxon:staxon:jar:1.2</include>
                 <include>de.odysseus.staxon:staxon-jackson:jar:1.2</include>
+                <include>org.ebaysf.web:cors-filter:jar:1.0.0</include>
             </includes>
         </dependencySet>
         <dependencySet>

Modified: airavata/trunk/modules/rest/webapp/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/rest/webapp/pom.xml?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/modules/rest/webapp/pom.xml (original)
+++ airavata/trunk/modules/rest/webapp/pom.xml Wed Sep 25 21:44:36 2013
@@ -150,6 +150,11 @@
             <artifactId>jackson-core-asl</artifactId>
             <version>1.9.2</version>
         </dependency>
+        <dependency>
+            <groupId>org.ebaysf.web</groupId>
+            <artifactId>cors-filter</artifactId>
+            <version>${ebay.cors.filter}</version>
+        </dependency>
 
         <!-- Airavata -->
 		<!--dependency>

Modified: airavata/trunk/modules/rest/webapp/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/rest/webapp/src/main/webapp/WEB-INF/web.xml?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/modules/rest/webapp/src/main/webapp/WEB-INF/web.xml (original)
+++ airavata/trunk/modules/rest/webapp/src/main/webapp/WEB-INF/web.xml Wed Sep 25 21:44:36 2013
@@ -82,8 +82,48 @@
             <param-value>org.apache.airavata.services.server;org.codehaus.jackson.jaxrs</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
-    </servlet>
+    </servlet>	
+	
     <!-- ========================= Security Related Configurations go here ================================== -->
+    
+    <filter>
+		<filter-name>CORS Filter</filter-name>
+		<filter-class>org.ebaysf.web.cors.CORSFilter</filter-class>
+		<init-param>
+			<description>A comma separated list of allowed origins. Note: An '*' cannot be used for an allowed origin when using credentials.</description>
+			<param-name>cors.allowed.origins</param-name>
+			<param-value>*</param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.allowed.methods</param-name>
+			<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.allowed.headers</param-name>
+			<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization</param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.exposed.headers</param-name>
+			<param-value></param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.support.credentials</param-name>
+			<param-value>true</param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.logging.enabled</param-name>
+			<param-value>false</param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.preflight.maxage</param-name>
+			<param-value>1800</param-value>
+		</init-param>
+		<init-param>
+			<param-name>cors.request.decorate</param-name>
+			<param-value>true</param-value>
+		</init-param>
+	</filter>
+	
     <filter>
         <filter-name>AuthenticationFilter</filter-name>
         <filter-class>org.apache.airavata.services.registry.rest.security.HttpAuthenticatorFilter</filter-class>
@@ -92,14 +132,22 @@
             <param-value>authenticators.xml</param-value>
         </init-param>
     </filter>
-
-    <filter-mapping>
-        <filter-name>AuthenticationFilter</filter-name>
-        <url-pattern>/user-store/*</url-pattern>
-        <url-pattern>/services/registry/*</url-pattern>
-        <url-pattern>/services/experiment/*</url-pattern>
-        <url-pattern>/services/server/*</url-pattern>
-    </filter-mapping>
+    
+	<filter-mapping>
+		<filter-name>CORS Filter</filter-name>
+		<url-pattern>/user-store/*</url-pattern>
+		<url-pattern>/services/registry/*</url-pattern>
+		<url-pattern>/services/experiment/*</url-pattern>
+		<url-pattern>/services/server/*</url-pattern>
+	</filter-mapping>
+	
+	<filter-mapping>
+		<filter-name>AuthenticationFilter</filter-name>
+		<url-pattern>/user-store/*</url-pattern>
+		<url-pattern>/services/registry/*</url-pattern>
+		<url-pattern>/services/experiment/*</url-pattern>
+		<url-pattern>/services/server/*</url-pattern>
+	</filter-mapping>
 
     <!-- ================================ End Security Related Configurations =============================== -->
 

Modified: airavata/trunk/modules/server/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/server/pom.xml?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/modules/server/pom.xml (original)
+++ airavata/trunk/modules/server/pom.xml Wed Sep 25 21:44:36 2013
@@ -81,8 +81,13 @@
             <artifactId>airavata-rest-mappings</artifactId>
             <version>${project.version}</version>
         </dependency>
-
+        <dependency>
+            <groupId>org.ebaysf.web</groupId>
+            <artifactId>cors-filter</artifactId>
+            <version>${ebay.cors.filter}</version>
+        </dependency>
     </dependencies>
+    
     <build>
         <plugins>
             <plugin>

Modified: airavata/trunk/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java (original)
+++ airavata/trunk/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java Wed Sep 25 21:44:36 2013
@@ -69,12 +69,33 @@ public class ServerMain {
         Wrapper registryServlet = tomcat.addServlet("/airavata", "Airavata Registry Service", "com.sun.jersey.spi.container.servlet.ServletContainer");
         registryServlet.addInitParameter("com.sun.jersey.config.property.packages", "org.apache.airavata.services.registry.rest;org.codehaus.jackson.jaxrs");
         registryServlet.setLoadOnStartup(1);
+        
+        FilterDef corsFilter = new FilterDef();
+        corsFilter.setFilterName("CORS Filter");
+        corsFilter.setFilterClass("org.ebaysf.web.cors.CORSFilter");
+        corsFilter.addInitParameter("cors.allowed.origins","*");
+        corsFilter.addInitParameter("cors.allowed.methods","GET,POST,HEAD,PUT,OPTIONS");
+        corsFilter.addInitParameter("cors.allowed.headers","Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization");
+        corsFilter.addInitParameter("cors.exposed.headers","");
+        corsFilter.addInitParameter("cors.preflight.maxage","1800");
+        corsFilter.addInitParameter("cors.support.credentials","true");
+        corsFilter.addInitParameter("cors.logging.enabled","false");
+        corsFilter.addInitParameter("cors.request.decorate","true");
+        context.addFilterDef(corsFilter);
 
         FilterDef filter1definition = new FilterDef();
         filter1definition.setFilterName("AuthenticationFilter");
         filter1definition.setFilterClass("org.apache.airavata.services.registry.rest.security.HttpAuthenticatorFilter");
         filter1definition.addInitParameter("authenticatorConfigurations","authenticators.xml");
         context.addFilterDef(filter1definition);
+        
+        FilterMap corsFilterMapping = new FilterMap();
+        corsFilterMapping.setFilterName("CORS Filter");
+        corsFilterMapping.addURLPattern("/user-store/*");
+        corsFilterMapping.addURLPattern("/services/registry/*");
+        corsFilterMapping.addURLPattern("/services/server/*");
+        corsFilterMapping.addURLPattern("/services/experiment/*");
+        context.addFilterMap(corsFilterMapping);
 
         FilterMap filter1mapping = new FilterMap();
         filter1mapping.setFilterName("AuthenticationFilter");

Modified: airavata/trunk/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/pom.xml?rev=1526315&r1=1526314&r2=1526315&view=diff
==============================================================================
--- airavata/trunk/pom.xml (original)
+++ airavata/trunk/pom.xml Wed Sep 25 21:44:36 2013
@@ -89,6 +89,7 @@
         <antrun.version>1.6</antrun.version>
         <bouncy.castle.version>1.45</bouncy.castle.version>
         <jglobus.version>2.0.6</jglobus.version>
+        <ebay.cors.filter>1.0.0</ebay.cors.filter>
         <skipTests>false</skipTests>
     </properties>