浏览代码

Load AutoIntegrationFilter via FilterToBeanProxy.

Ben Alex 21 年之前
父节点
当前提交
fa396c6cdf

+ 10 - 1
docs/reference/src/index.xml

@@ -1856,7 +1856,11 @@ public boolean supports(Class clazz);</programlisting></para>
 
         <para><programlisting>&lt;filter&gt;
   &lt;filter-name&gt;Acegi Security System for Spring Auto Integration Filter&lt;/filter-name&gt;
-  &lt;filter-class&gt;net.sf.acegisecurity.ui.AutoIntegrationFilter&lt;/filter-class&gt;
+  &lt;filter-class&gt;net.sf.acegisecurity.util.FilterToBeanProxy&lt;/filter-class&gt;
+  &lt;init-param&gt;
+    &lt;param-name&gt;targetClass&lt;/param-name&gt;
+    &lt;param-value&gt;net.sf.acegisecurity.ui.AutoIntegrationFilter&lt;/param-value&gt;
+  &lt;/init-param&gt;
 &lt;/filter&gt;
 
 &lt;filter-mapping&gt;
@@ -1864,6 +1868,11 @@ public boolean supports(Class clazz);</programlisting></para>
   &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
 &lt;/filter-mapping&gt;</programlisting></para>
 
+        <para>You will also need to add the following line to your application
+        context:</para>
+
+        <para><programlisting>&lt;bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" /&gt;</programlisting></para>
+
         <para>Once in the <literal>ContextHolder</literal>, the standard Acegi
         Security System for Spring classes can be used. Because
         <literal>ContextHolder</literal> is a standard object which is

+ 2 - 0
samples/contacts/etc/ca/applicationContext.xml

@@ -59,6 +59,8 @@
 		<property name="realmName"><value>Contacts Realm</value></property>
 	</bean>
 
+	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
+
 	<!-- ~~~~~~~~~~~~~~~~~~~~ AUTHORIZATION DEFINITIONS ~~~~~~~~~~~~~~~~~~~ -->
 
 	<!-- An access decision voter that reads ROLE_* configuaration settings -->

+ 5 - 1
samples/contacts/etc/ca/web.xml

@@ -35,7 +35,11 @@
 
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.ui.AutoIntegrationFilter</filter-class>
+        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
+        <init-param>
+            <param-name>targetClass</param-name>
+            <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
+        </init-param>
     </filter>
 
     <filter-mapping>

+ 2 - 0
samples/contacts/etc/cas/applicationContext.xml

@@ -50,6 +50,8 @@
 		<property name="realmName"><value>Contacts Realm</value></property>
 	</bean>
 
+	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
+
 	<bean id="casAuthenticationProvider" class="net.sf.acegisecurity.providers.cas.CasAuthenticationProvider">
 		<property name="casAuthoritiesPopulator"><ref bean="casAuthoritiesPopulator"/></property>
 		<property name="casProxyDecider"><ref bean="casProxyDecider"/></property>

+ 5 - 1
samples/contacts/etc/cas/web.xml

@@ -62,7 +62,11 @@
 
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.ui.AutoIntegrationFilter</filter-class>
+        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
+        <init-param>
+            <param-name>targetClass</param-name>
+            <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
+        </init-param>
     </filter>
 
     <filter>

+ 2 - 0
samples/contacts/etc/filter/applicationContext.xml

@@ -70,6 +70,8 @@
 		<property name="realmName"><value>Contacts Realm</value></property>
 	</bean>
 
+	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
+
 	<!-- ~~~~~~~~~~~~~~~~~~~~ AUTHORIZATION DEFINITIONS ~~~~~~~~~~~~~~~~~~~ -->
 
 	<!-- An access decision voter that reads ROLE_* configuaration settings -->

+ 5 - 1
samples/contacts/etc/filter/web.xml

@@ -53,7 +53,11 @@
 
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.ui.AutoIntegrationFilter</filter-class>
+        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
+        <init-param>
+            <param-name>targetClass</param-name>
+            <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
+        </init-param>
     </filter>
 
     <filter>

+ 2 - 0
samples/quick-start/war-root/WEB-INF/applicationContext.xml

@@ -88,4 +88,6 @@
 		<property name="forceHttps"><value>false</value></property>
 	</bean>
 
+	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
+
 </beans>

+ 5 - 1
samples/quick-start/war-root/WEB-INF/web.xml

@@ -26,7 +26,11 @@
 
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
-        <filter-class>net.sf.acegisecurity.ui.AutoIntegrationFilter</filter-class>
+        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
+        <init-param>
+            <param-name>targetClass</param-name>
+            <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
+        </init-param>
     </filter>
 
     <filter>

+ 20 - 0
upgrade-05-06.txt

@@ -47,4 +47,24 @@ applications:
   changed. Most CAS users will be using DaoCasAuthoritiesPopulator, so this
   change is unlikely to require any action.
 
+- Please check your web.xml for whether you are using AutoIntegrationFilter.
+  Previously this class was loaded directly by web.xml as a filter. It is
+  now recommended to load it via FilterToBeanProxy and define it as a
+  bean in your application context. This usually involves making the entry
+  in web.xml match the following:
+  
+    <filter>
+        <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
+        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
+        <init-param>
+            <param-name>targetClass</param-name>
+            <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
+        </init-param>
+    </filter>
+
+  Then add the following to applicationContext.xml:
+  
+  	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
+
+
 $Id$