Author: cschneider
Date: Mon Feb  6 10:38:50 2012
New Revision: 1240967

URL: http://svn.apache.org/viewvc?rev=1240967&view=rev
Log:
CAMEL-4985 Adjusting the configuration to the new style like used in the 
servlet tomcat example

Added:
    
camel/trunk/examples/camel-example-spring-security/src/main/resources/camel-context.xml
Removed:
    camel/trunk/examples/camel-example-spring-security/src/main/resources/org/
    
camel/trunk/examples/camel-example-spring-security/src/main/webapp/WEB-INF/applicationContext-security.xml
Modified:
    camel/trunk/examples/camel-example-spring-security/pom.xml
    
camel/trunk/examples/camel-example-spring-security/src/main/webapp/WEB-INF/web.xml

Modified: camel/trunk/examples/camel-example-spring-security/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-spring-security/pom.xml?rev=1240967&r1=1240966&r2=1240967&view=diff
==============================================================================
--- camel/trunk/examples/camel-example-spring-security/pom.xml (original)
+++ camel/trunk/examples/camel-example-spring-security/pom.xml Mon Feb  6 
10:38:50 2012
@@ -75,13 +75,6 @@
 
        <build>
                <plugins>
-                       <!-- Allows the routes to be run via 'mvn camel:run' -->
-                       <plugin>
-                               <groupId>org.apache.camel</groupId>
-                               <artifactId>camel-maven-plugin</artifactId>
-                               <version>${project.version}</version>
-                       </plugin>
-
                        <!-- so we can run mvn jetty:run -->
             <plugin>
                 <groupId>org.mortbay.jetty</groupId>

Added: 
camel/trunk/examples/camel-example-spring-security/src/main/resources/camel-context.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-spring-security/src/main/resources/camel-context.xml?rev=1240967&view=auto
==============================================================================
--- 
camel/trunk/examples/camel-example-spring-security/src/main/resources/camel-context.xml
 (added)
+++ 
camel/trunk/examples/camel-example-spring-security/src/main/resources/camel-context.xml
 Mon Feb  6 10:38:50 2012
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<!-- START SNIPPET: example -->
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns:spring-security="http://www.springframework.org/schema/security";
+       xsi:schemaLocation="
+         http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
+         http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd
+         http://camel.apache.org/schema/spring-security 
http://camel.apache.org/schema/spring-security/camel-spring-security.xsd
+         http://www.springframework.org/schema/security 
http://www.springframework.org/schema/security/spring-security.xsd";>
+
+  <spring-security:http realm="User Restrict Realm">
+    <spring-security:intercept-url pattern="/camel/**" access="ROLE_USER"/>
+    <spring-security:http-basic/>
+    <spring-security:remember-me/>
+  </spring-security:http>
+
+    <!--  set up the user configuration here -->
+  <spring-security:authentication-manager alias="authenticationManager">
+    <spring-security:authentication-provider 
user-service-ref="userDetailsService"/>
+  </spring-security:authentication-manager>
+
+  <spring-security:user-service id="userDetailsService">
+    <spring-security:user name="jim" password="jimspassword" 
authorities="ROLE_USER, ROLE_ADMIN"/>
+    <spring-security:user name="bob" password="bobspassword" 
authorities="ROLE_USER"/>
+  </spring-security:user-service>
+
+  <bean id="accessDecisionManager" 
class="org.springframework.security.access.vote.AffirmativeBased">
+    <property name="allowIfAllAbstainDecisions" value="true"/>
+    <property name="decisionVoters">
+      <list>
+        <bean class="org.springframework.security.access.vote.RoleVoter"/>
+      </list>
+    </property>
+  </bean>
+
+  <!-- The Policy for checking the authentication role of ADMIN -->
+  <authorizationPolicy id="admin" access="ROLE_ADMIN"
+                       authenticationManager="authenticationManager"
+                       accessDecisionManager="accessDecisionManager"
+                       xmlns="http://camel.apache.org/schema/spring-security"/>
+
+  <!-- The Policy for checking the authentication role of USER -->
+  <authorizationPolicy id="user" access="ROLE_USER"
+                       xmlns="http://camel.apache.org/schema/spring-security"/>
+
+  <camelContext id="myCamelContext" 
xmlns="http://camel.apache.org/schema/spring";>
+    <!-- Catch the authorization exception and set the Access Denied message 
back -->
+    <onException>
+      <exception>org.apache.camel.CamelAuthorizationException</exception>
+      <handled>
+        <constant>true</constant>
+      </handled>
+      <transform>
+        <simple>Access Denied with the Policy of ${exception.policyId} 
!</simple>
+      </transform>
+    </onException>
+
+    <route>
+      <from uri="servlet:///user"/>
+      <!-- wrap the route in the policy which enforces security check -->
+      <policy ref="user">
+        <transform>
+          <simple>Normal user can access this service</simple>
+        </transform>
+      </policy>
+    </route>
+
+    <route>
+      <from uri="servlet:///admin"/>
+      <!-- wrap the route in the policy which enforces security check -->
+      <policy ref="admin">
+        <transform>
+          <simple>Call the admin operation OK</simple>
+        </transform>
+      </policy>
+    </route>
+
+  </camelContext>
+
+</beans>
+  <!-- END SNIPPET: example -->

Modified: 
camel/trunk/examples/camel-example-spring-security/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-spring-security/src/main/webapp/WEB-INF/web.xml?rev=1240967&r1=1240966&r2=1240967&view=diff
==============================================================================
--- 
camel/trunk/examples/camel-example-spring-security/src/main/webapp/WEB-INF/web.xml
 (original)
+++ 
camel/trunk/examples/camel-example-spring-security/src/main/webapp/WEB-INF/web.xml
 Mon Feb  6 10:38:50 2012
@@ -25,7 +25,7 @@
   <!-- location of spring xml files -->
   <context-param>
     <param-name>contextConfigLocation</param-name>
-    <param-value>/WEB-INF/applicationContext-security.xml</param-value>
+    <param-value>classpath:camel-context.xml</param-value>
   </context-param>
 
   <!-- the listener that kick-starts Spring -->
@@ -46,15 +46,7 @@
   <servlet>
     <servlet-name>CamelServlet</servlet-name>
     
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
-    <init-param>
-      <param-name>matchOnUriPrefix</param-name>
-      <param-value>true</param-value>
-    </init-param>
-    <!-- set the camel context application file location here -->
-    <init-param>
-      <param-name>contextConfigLocation</param-name>
-      
<param-value>/org/apache/camel/example/spring/security/camel-context.xml</param-value>
-    </init-param>
+    <load-on-startup>1</load-on-startup>
   </servlet>
 
   <servlet-mapping>


Reply via email to