瀏覽代碼

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;
         <para><programlisting>&lt;filter&gt;
   &lt;filter-name&gt;Acegi Security System for Spring Auto Integration Filter&lt;/filter-name&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&gt;
 
 
 &lt;filter-mapping&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;url-pattern&gt;/*&lt;/url-pattern&gt;
 &lt;/filter-mapping&gt;</programlisting></para>
 &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
         <para>Once in the <literal>ContextHolder</literal>, the standard Acegi
         Security System for Spring classes can be used. Because
         Security System for Spring classes can be used. Because
         <literal>ContextHolder</literal> is a standard object which is
         <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>
 		<property name="realmName"><value>Contacts Realm</value></property>
 	</bean>
 	</bean>
 
 
+	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
+
 	<!-- ~~~~~~~~~~~~~~~~~~~~ AUTHORIZATION DEFINITIONS ~~~~~~~~~~~~~~~~~~~ -->
 	<!-- ~~~~~~~~~~~~~~~~~~~~ AUTHORIZATION DEFINITIONS ~~~~~~~~~~~~~~~~~~~ -->
 
 
 	<!-- An access decision voter that reads ROLE_* configuaration settings -->
 	<!-- An access decision voter that reads ROLE_* configuaration settings -->

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

@@ -35,7 +35,11 @@
 
 
     <filter>
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
         <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>
 
 
     <filter-mapping>
     <filter-mapping>

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

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

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

@@ -62,7 +62,11 @@
 
 
     <filter>
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
         <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>
 
 
     <filter>
     <filter>

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

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

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

@@ -53,7 +53,11 @@
 
 
     <filter>
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
         <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>
 
 
     <filter>
     <filter>

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

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

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

@@ -26,7 +26,11 @@
 
 
     <filter>
     <filter>
         <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
         <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>
 
 
     <filter>
     <filter>

+ 20 - 0
upgrade-05-06.txt

@@ -47,4 +47,24 @@ applications:
   changed. Most CAS users will be using DaoCasAuthoritiesPopulator, so this
   changed. Most CAS users will be using DaoCasAuthoritiesPopulator, so this
   change is unlikely to require any action.
   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$
 $Id$