Browse Source

saving updates to migrate

Rob Winch 10 years ago
parent
commit
a18fa3f1db
1 changed files with 71 additions and 17 deletions
  1. 71 17
      docs/manual/src/docs/asciidoc/_includes/migrate-3-to-4.adoc

+ 71 - 17
docs/manual/src/docs/asciidoc/_includes/migrate-3-to-4.adoc

@@ -38,6 +38,9 @@ For thoroughness we have include the related links in the table below.
 | https://jira.spring.io/browse/SEC-2348[SEC-2348]
 | https://jira.spring.io/browse/SEC-2348[SEC-2348]
 | https://github.com/spring-projects/spring-security/commit/eedbf442359f9a99e367f2fdef61deea1cef46c9[eedbf44]
 | https://github.com/spring-projects/spring-security/commit/eedbf442359f9a99e367f2fdef61deea1cef46c9[eedbf44]
 
 
+| https://jira.spring.io/browse/SEC-2781[SEC-2781]
+| https://github.com/spring-projects/spring-security/commit/6e204fff72b80196a83245cbc3bd0cd401feda00[6e204ff]
+
 | https://jira.spring.io/browse/SEC-2873[SEC-2873]
 | https://jira.spring.io/browse/SEC-2873[SEC-2873]
 | https://github.com/spring-projects/spring-security/commit/5f57e5b0c3726466db4f5d0521ac26423f0d9cd4[5f57e5b]
 | https://github.com/spring-projects/spring-security/commit/5f57e5b0c3726466db4f5d0521ac26423f0d9cd4[5f57e5b]
 |====
 |====
@@ -188,7 +191,7 @@ The configuration will need to be updated to something similar to the following
 [source,xml]
 [source,xml]
 ----
 ----
 <http>
 <http>
-    <openid-login login-processing-url="/j_spring_openid_security_login"/> <!--1-->
+    <openid-login login-processing-url="/j_spring_openid_security_check"/> <!--1-->
     ...
     ...
 </http>
 </http>
 ----
 ----
@@ -354,21 +357,21 @@ For example, if an application using Spring Security 3.2.x contains a configurat
 
 
 [source,xml]
 [source,xml]
 ----
 ----
-<bean id="casFilter"
-      class="org.springframework.security.cas.web.CasAuthenticationFilter">
-  <property name="authenticationManager" ref="authenticationManager"/>
-</bean>
+<b:bean id="casFilter"
+            class="org.springframework.security.cas.web.CasAuthenticationFilter">
+    <b:property name="authenticationManager" ref="authenticationManager"/>
+</b:bean>
 ----
 ----
 
 
 The configuration will need to be updated to something similar to the following when Spring Security 4.x:
 The configuration will need to be updated to something similar to the following when Spring Security 4.x:
 
 
 [source,xml]
 [source,xml]
 ----
 ----
-<bean id="casFilter"
-      class="org.springframework.security.cas.web.CasAuthenticationFilter">
-  <property name="authenticationManager" ref="authenticationManager"/>
-  <property name="filterProcessesUrl" value="/j_spring_cas_security_check"/>
-</bean>
+<b:bean id="casFilter"
+            class="org.springframework.security.cas.web.CasAuthenticationFilter">
+    <b:property name="authenticationManager" ref="authenticationManager"/>
+    <b:property name="filterProcessesUrl" value="/j_spring_cas_security_check"/>
+</b:bean>
 ----
 ----
 
 
 *Alternatively*, the `ServiceProperties` can be updated to use the new default:
 *Alternatively*, the `ServiceProperties` can be updated to use the new default:
@@ -394,10 +397,10 @@ For example, if an application using Spring Security 3.2.x contains a configurat
 
 
 [source,xml]
 [source,xml]
 ----
 ----
-<bean id="switchUserProcessingFilter" class="org.springframework.security.web.authentication.switchuser.SwitchUserFilter">
-    <property name="userDetailsService" ref="userDetailsService" />
-    <property name="targetUrl" value="/" />
- </bean>
+<b:bean id="switchUserProcessingFilter" class="org.springframework.security.web.authentication.switchuser.SwitchUserFilter">
+    <b:property name="userDetailsService" ref="userDetailsService" />
+    <b:property name="targetUrl" value="/" />
+</b:bean>
 ----
 ----
 
 
 The configuration will need to be updated to something similar to the following when Spring Security 4.x:
 The configuration will need to be updated to something similar to the following when Spring Security 4.x:
@@ -405,8 +408,8 @@ The configuration will need to be updated to something similar to the following
 [source,xml]
 [source,xml]
 ----
 ----
 <bean id="switchUserProcessingFilter" class="org.springframework.security.web.authentication.switchuser.SwitchUserFilter">
 <bean id="switchUserProcessingFilter" class="org.springframework.security.web.authentication.switchuser.SwitchUserFilter">
-    <property name="switchUserUrl" value="/login/impersonate" />
-    <property name="exitUserUrl" value="/logout/impersonate" />
+    <property name="switchUserUrl" value="/j_spring_security_switch_user" />
+    <property name="exitUserUrl" value="/j_spring_security_exit_user" />
 
 
     <property name="userDetailsService" ref="userDetailsService" />
     <property name="userDetailsService" ref="userDetailsService" />
     <property name="targetUrl" value="/" />
     <property name="targetUrl" value="/" />
@@ -445,10 +448,12 @@ In Spring Security 3.x, the following configuration
 [source,xml]
 [source,xml]
 ----
 ----
 <http>
 <http>
-   ...
    <headers>
    <headers>
        <frame-options policy="SAMEORIGIN"/>
        <frame-options policy="SAMEORIGIN"/>
    </headers>
    </headers>
+
+   ...
+</http>
 ----
 ----
 
 
 would add the following header:
 would add the following header:
@@ -583,8 +588,10 @@ http
 A number of deprecations were removed in Spring Security 4.
 A number of deprecations were removed in Spring Security 4.
 The following section describes how to migrate the removal of all deprecations.
 The following section describes how to migrate the removal of all deprecations.
 
 
+[[m3to4-deprecations-acl]]
 === spring-security-acl
 === spring-security-acl
 
 
+[[m3to4-deprecations-acl-aclimpl]]
 ==== AclImpl
 ==== AclImpl
 
 
 AclImpl had a deprecated constructor removed. Specifically, the constructor that defaults the `PermissionGrantingStrategy` was removed:
 AclImpl had a deprecated constructor removed. Specifically, the constructor that defaults the `PermissionGrantingStrategy` was removed:
@@ -617,6 +624,7 @@ new AclImpl(objectIdentity, id, aclAuthorizationStrategy, permissionGrantingStra
             parentAcl, loadedSids, entriesInheriting, owner);
             parentAcl, loadedSids, entriesInheriting, owner);
 ----
 ----
 
 
+[[m3to4-deprecations-acl-ehcachebasedaclcache]]
 ==== EhCacheBasedAclCache
 ==== EhCacheBasedAclCache
 
 
 `EhCacheBasedAclCache` had a deprecated constructor removed. Specifically, the constructor that defaults the `PermissionGrantingStrategy` was removed:
 `EhCacheBasedAclCache` had a deprecated constructor removed. Specifically, the constructor that defaults the `PermissionGrantingStrategy` was removed:
@@ -646,8 +654,10 @@ PermissionGrantingStrategy permissionGrantingStrategy =
 new EhCacheBasedAclCache(ehCache, permissionGrantingStrategy);
 new EhCacheBasedAclCache(ehCache, permissionGrantingStrategy);
 ----
 ----
 
 
+[[m3to4-deprecations-cas]]
 === spring-security-cas
 === spring-security-cas
 
 
+[[m3to4-deprecations-cas-serviceauthenticationdetailssource]]
 ==== ServiceAuthenticationDetailsSource
 ==== ServiceAuthenticationDetailsSource
 
 
 `ServiceAuthenticationDetailsSource` removed the deprecated construtors that defaulted the `ServiceProperties`.
 `ServiceAuthenticationDetailsSource` removed the deprecated construtors that defaulted the `ServiceProperties`.
@@ -684,8 +694,11 @@ new ServiceAuthenticationDetailsSource(serviceProperties);
 new ServiceAuthenticationDetailsSource(serviceProperties, artifactId);
 new ServiceAuthenticationDetailsSource(serviceProperties, artifactId);
 ----
 ----
 
 
+[[m3to4-deprecations-config]]
 === spring-security-config
 === spring-security-config
 
 
+
+[[m3to4-deprecations-config-fids]]
 ==== filter-invocation-definition-source
 ==== filter-invocation-definition-source
 
 
 The XML element `filter-invocation-definition-source` was removed in favor of <<nsa-filter-security-metadata-source,filter-security-metadata-source>>.
 The XML element `filter-invocation-definition-source` was removed in favor of <<nsa-filter-security-metadata-source,filter-security-metadata-source>>.
@@ -707,6 +720,7 @@ it needs to be replaced with:
 </filter-security-metadata-source>
 </filter-security-metadata-source>
 ----
 ----
 
 
+[[m3to4-deprecations-config-http-adp]]
 ==== http@access-denied-page
 ==== http@access-denied-page
 The XML attribute `http@access-denied-page` was removed in favor of <<nsa-access-denied-handler-error-page,access-denied-handler@error-page>>.
 The XML attribute `http@access-denied-page` was removed in favor of <<nsa-access-denied-handler-error-page,access-denied-handler@error-page>>.
 This means if you have something like this:
 This means if you have something like this:
@@ -728,6 +742,7 @@ it needs to be replaced with:
 </http>
 </http>
 ----
 ----
 
 
+[[m3to4-deprecations-config-http-pt]]
 ==== http@path-type
 ==== http@path-type
 The XML attribute `http@path-type` was removed in favor of <<nsa-http-request-matcher,http@request-matcher>>.
 The XML attribute `http@path-type` was removed in favor of <<nsa-http-request-matcher,http@request-matcher>>.
 This means if you have something like this:
 This means if you have something like this:
@@ -749,6 +764,7 @@ it needs to be replaced with:
 </http>
 </http>
 ----
 ----
 
 
+[[m3to4-deprecations-config-fcm-pt]]
 ==== filter-chain-map@path-type
 ==== filter-chain-map@path-type
 The XML attribute `filter-chain-map@path-type` was removed in favor of <<nsa-filter-chain-map-request-matcher,filter-chain-map@request-matcher>>.
 The XML attribute `filter-chain-map@path-type` was removed in favor of <<nsa-filter-chain-map-request-matcher,filter-chain-map@request-matcher>>.
 This means if you have something like this:
 This means if you have something like this:
@@ -770,6 +786,7 @@ it needs to be replaced with:
 </filter-chain-map>
 </filter-chain-map>
 ----
 ----
 
 
+[[m3to4-deprecations-config-sms-pt]]
 ==== filter-security-metadata-source@path-type
 ==== filter-security-metadata-source@path-type
 The XML attribute `filter-security-metadata-source@path-type` was removed in favor of <<nsa-filter-security-metadata-source-request-matcher,filter-security-metadata-source@request-matcher>>.
 The XML attribute `filter-security-metadata-source@path-type` was removed in favor of <<nsa-filter-security-metadata-source-request-matcher,filter-security-metadata-source@request-matcher>>.
 This means if you have something like this:
 This means if you have something like this:
@@ -791,8 +808,10 @@ it needs to be replaced with:
 </filter-security-metadata-source>
 </filter-security-metadata-source>
 ----
 ----
 
 
+[[m3to4-deprecations-core]]
 === spring-security-core
 === spring-security-core
 
 
+[[m3to4-deprecations-core-securityconfig]]
 ==== SecurityConfig
 ==== SecurityConfig
 
 
 `SecurityConfig.createSingleAttributeList(String)` was removed in favor of using `SecurityConfig.createList(String...)`.
 `SecurityConfig.createSingleAttributeList(String)` was removed in favor of using `SecurityConfig.createList(String...)`.
@@ -812,6 +831,7 @@ List<ConfigAttribute> attrs =
     SecurityConfig.createList("ROLE_USER");
     SecurityConfig.createList("ROLE_USER");
 ----
 ----
 
 
+[[m3to4-deprecations-core-udsw]]
 ==== UserDetailsServiceWrapper
 ==== UserDetailsServiceWrapper
 
 
 `UserDetailsServiceWrapper` was deprecated in favor of using `RoleHierarchyAuthoritiesMapper`.
 `UserDetailsServiceWrapper` was deprecated in favor of using `RoleHierarchyAuthoritiesMapper`.
@@ -841,6 +861,8 @@ then it needs to be migrated with something like this:
 
 
 TBD
 TBD
 
 
+
+[[m3to4-deprecations-core-udw]]
 ==== UserDetailsWrapper
 ==== UserDetailsWrapper
 `UserDetailsWrapper` was deprecated in favor of using `RoleHierarchyAuthoritiesMapper`.
 `UserDetailsWrapper` was deprecated in favor of using `RoleHierarchyAuthoritiesMapper`.
 Typically users would not use the `UserDetailsWrapper` directly. However, if they are they can use `RoleHierarchyAuthoritiesMapper`
 Typically users would not use the `UserDetailsWrapper` directly. However, if they are they can use `RoleHierarchyAuthoritiesMapper`
@@ -861,6 +883,7 @@ UserDetails authenticate =
     new User(userDetails.getUsername(), userDetails.getPassword(), allAuthorities);
     new User(userDetails.getUsername(), userDetails.getPassword(), allAuthorities);
 ----
 ----
 
 
+[[m3to4-deprecations-core-aadm]]
 ==== AbstractAccessDecisionManager
 ==== AbstractAccessDecisionManager
 
 
 The default constructor for `AbstractAccessDecisionManager` has been deprecated along with the `setDecisionVoters` method.
 The default constructor for `AbstractAccessDecisionManager` has been deprecated along with the `setDecisionVoters` method.
@@ -899,6 +922,7 @@ then it needs to be migrated to:
 </b:bean>
 </b:bean>
 ----
 ----
 
 
+[[m3to4-deprecations-core-ae]]
 ==== AuthenticationException
 ==== AuthenticationException
 
 
 The constructor that accepts extraInformation within `AuthenticationException` was removed to prevent accidental leaking of the `UserDetails`.
 The constructor that accepts extraInformation within `AuthenticationException` was removed to prevent accidental leaking of the `UserDetails`.
@@ -927,6 +951,8 @@ to:
 new LockedException("Message");
 new LockedException("Message");
 ----
 ----
 
 
+
+[[m3to4-deprecations-core-aap]]
 ==== AnonymousAuthenticationProvider
 ==== AnonymousAuthenticationProvider
 
 
 `AnonymousAuthenticationProvider` default constructor and `setKey` method was deprecated in favor of using constructor injection.
 `AnonymousAuthenticationProvider` default constructor and `setKey` method was deprecated in favor of using constructor injection.
@@ -945,6 +971,7 @@ it should be changed to:
 AnonymousAuthenticationProvider provider = new AnonymousAuthenticationProvider(key);
 AnonymousAuthenticationProvider provider = new AnonymousAuthenticationProvider(key);
 ----
 ----
 
 
+[[m3to4-deprecations-core-adsi]]
 ==== AuthenticationDetailsSourceImpl
 ==== AuthenticationDetailsSourceImpl
 
 
 `AuthenticationDetailsSourceImpl` was deprecated in favor of writing a custom `AuthenticationDetailsSource`.
 `AuthenticationDetailsSourceImpl` was deprecated in favor of writing a custom `AuthenticationDetailsSource`.
@@ -968,6 +995,7 @@ public CustomSourceAuthenticationDetailsSource implements AuthenticationDetailsS
 }
 }
 ----
 ----
 
 
+[[m3to4-deprecations-core-pm]]
 ==== ProviderManager
 ==== ProviderManager
 
 
 `ProviderManager` has removed the deprecated default constructor and the correspdonding setter methods in favor of using constructor injection.
 `ProviderManager` has removed the deprecated default constructor and the correspdonding setter methods in favor of using constructor injection.
@@ -990,6 +1018,7 @@ then it should be changed to:
 ProviderManager provider = new ProviderManager(parent, providers);
 ProviderManager provider = new ProviderManager(parent, providers);
 ----
 ----
 
 
+[[m3to4-deprecations-core-rmap]]
 ==== RememberMeAuthenticationProvider
 ==== RememberMeAuthenticationProvider
 `RememberMeAuthenticationProvider` had the default constructor and the `setKey` method removed in favor of constructor injection.
 `RememberMeAuthenticationProvider` had the default constructor and the `setKey` method removed in favor of constructor injection.
 For example:
 For example:
@@ -1007,6 +1036,7 @@ should be migrated to:
 RememberMeAuthenticationProvider provider = new RememberMeAuthenticationProvider(key);
 RememberMeAuthenticationProvider provider = new RememberMeAuthenticationProvider(key);
 ----
 ----
 
 
+[[m3to4-deprecations-core-gai]]
 ==== GrantedAuthorityImpl
 ==== GrantedAuthorityImpl
 
 
 `GrantedAuthorityImpl` was removed in favor of `SimpleGrantedAuthority` or implementing your own.
 `GrantedAuthorityImpl` was removed in favor of `SimpleGrantedAuthority` or implementing your own.
@@ -1024,12 +1054,15 @@ should be replaced with
 new SimpleGrantedAuthority(role);
 new SimpleGrantedAuthority(role);
 ----
 ----
 
 
+[[m3to4-deprecations-core-imdi]]
 ==== InMemoryDaoImpl
 ==== InMemoryDaoImpl
 
 
 `InMemoryDaoImpl` was replaced in favor of `InMemoryUserDetailsManager`
 `InMemoryDaoImpl` was replaced in favor of `InMemoryUserDetailsManager`
 
 
+[[m3to4-deprecations-openid]]
 ==== spring-security-openid
 ==== spring-security-openid
 
 
+[[m3to4-deprecations-openid-oi4jc]]
 ==== OpenID4JavaConsumer
 ==== OpenID4JavaConsumer
 
 
 The `OpenID4JavaConsumer` constructors that accept `List<OpenIDAttribute>` have been removed in favor of using an `AxFetchListFactory`.
 The `OpenID4JavaConsumer` constructors that accept `List<OpenIDAttribute>` have been removed in favor of using an `AxFetchListFactory`.
@@ -1050,6 +1083,7 @@ RegexBasedAxFetchListFactory factory = new RegexBasedAxFetchListFactory(regexMap
 new OpenIDJavaConsumer(factory);
 new OpenIDJavaConsumer(factory);
 ----
 ----
 
 
+[[m3to4-deprecations-taglibs]]
 === spring-security-taglibs
 === spring-security-taglibs
 
 
 Spring Security's authorize JSP tag deprecated the properties `ifAllGranted`, `ifAnyGranted`, and `ifNotGranted` in favor of using expressions.
 Spring Security's authorize JSP tag deprecated the properties `ifAllGranted`, `ifAnyGranted`, and `ifNotGranted` in favor of using expressions.
@@ -1084,8 +1118,10 @@ can be replaced with:
 </sec:authorize>
 </sec:authorize>
 ----
 ----
 
 
+[[m3to4-deprecations-web]]
 === spring-security-web
 === spring-security-web
 
 
+[[m3to4-deprecations-web-fcp]]
 ==== FilterChainProxy
 ==== FilterChainProxy
 
 
 `FilterChainProxy` removed the `setFilterChainMap` method in favor of constructor injection.
 `FilterChainProxy` removed the `setFilterChainMap` method in favor of constructor injection.
@@ -1121,6 +1157,7 @@ FilterChainProxy filter = ...
 List<SecurityFilterChain> mappings = filter.getFilterChains();
 List<SecurityFilterChain> mappings = filter.getFilterChains();
 ----
 ----
 
 
+[[m3to4-deprecations-web-etf]]
 ==== ExceptionTranslationFilter
 ==== ExceptionTranslationFilter
 
 
 The default constructor for `ExceptionTranslationFilter` and the `setAuthenticationEntryPoint` method was removed in favor of using constructor injection.
 The default constructor for `ExceptionTranslationFilter` and the `setAuthenticationEntryPoint` method was removed in favor of using constructor injection.
@@ -1139,6 +1176,7 @@ can be replaced with
 ExceptionTranslationFilter filter = new ExceptionTranslationFilter(entryPoint, requestCache);
 ExceptionTranslationFilter filter = new ExceptionTranslationFilter(entryPoint, requestCache);
 ----
 ----
 
 
+[[m3to4-deprecations-web-aapf]]
 ==== AbstractAuthenticationProcessingFilter
 ==== AbstractAuthenticationProcessingFilter
 
 
 `AbstractAuthenticationProcessingFilter` had its `successfulAuthentication(HttpServletRequest,HttpServletResponse,Authentication)` method removed.
 `AbstractAuthenticationProcessingFilter` had its `successfulAuthentication(HttpServletRequest,HttpServletResponse,Authentication)` method removed.
@@ -1160,6 +1198,7 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
 }
 }
 ----
 ----
 
 
+[[m3to4-deprecations-web-aaf]]
 ==== AnonymousAuthenticationFilter
 ==== AnonymousAuthenticationFilter
 
 
 `AnonymousAuthenticationFilter` had the default constructor and the `setKey` and `setPrincipal` methods removed in favor of constructor injection.
 `AnonymousAuthenticationFilter` had the default constructor and the `setKey` and `setPrincipal` methods removed in favor of constructor injection.
@@ -1180,6 +1219,7 @@ AnonymousAuthenticationFilter filter =
     new AnonymousAuthenticationFilter(key,attrs.getPassword(),attrs.getAuthorities());
     new AnonymousAuthenticationFilter(key,attrs.getPassword(),attrs.getAuthorities());
 ----
 ----
 
 
+[[m3to4-deprecations-web-luaep]]
 ==== LoginUrlAuthenticationEntryPoint
 ==== LoginUrlAuthenticationEntryPoint
 
 
 The `LoginUrlAuthenticationEntryPoint` default constructor and the `setLoginFormUrl` method was removed in favor of constructor injection.
 The `LoginUrlAuthenticationEntryPoint` default constructor and the `setLoginFormUrl` method was removed in favor of constructor injection.
@@ -1197,10 +1237,12 @@ should be replaced with
 LoginUrlAuthenticationEntryPoint entryPoint = new LoginUrlAuthenticationEntryPoint(loginFormUrl);
 LoginUrlAuthenticationEntryPoint entryPoint = new LoginUrlAuthenticationEntryPoint(loginFormUrl);
 ----
 ----
 
 
+[[m3to4-deprecations-web-pagauds]]
 ==== PreAuthenticatedGrantedAuthoritiesUserDetailsService
 ==== PreAuthenticatedGrantedAuthoritiesUserDetailsService
 
 
 `PreAuthenticatedGrantedAuthoritiesUserDetailsService` removed `createuserDetails` in favor of `createUserDetails`.
 `PreAuthenticatedGrantedAuthoritiesUserDetailsService` removed `createuserDetails` in favor of `createUserDetails`.
 
 
+[[m3to4-deprecations-web-arms]]
 ==== AbstractRememberMeServices
 ==== AbstractRememberMeServices
 
 
 `AbstractRememberMeServices` and its subclasses `PersistentTokenBasedRememberMeServices` and `TokenBasedRememberMeServices` removed the default constructor and the `setKey` and `setUserDetailsService` methods in favor of constructor injection.
 `AbstractRememberMeServices` and its subclasses `PersistentTokenBasedRememberMeServices` and `TokenBasedRememberMeServices` removed the default constructor and the `setKey` and `setUserDetailsService` methods in favor of constructor injection.
@@ -1222,6 +1264,7 @@ PersistentTokenBasedRememberMeServices services =
     new PersistentTokenBasedRememberMeServices(key, userDetailsService, tokenRepository);
     new PersistentTokenBasedRememberMeServices(key, userDetailsService, tokenRepository);
 ----
 ----
 
 
+[[m3to4-deprecations-web-rmaf]]
 ==== RememberMeAuthenticationFilter
 ==== RememberMeAuthenticationFilter
 
 
 `RememberMeAuthenticationFilter` default constructor and the `setAuthenticationManager` and `setRememberMeServices` methods were removed in favor of constructor injection.
 `RememberMeAuthenticationFilter` default constructor and the `setAuthenticationManager` and `setRememberMeServices` methods were removed in favor of constructor injection.
@@ -1241,6 +1284,7 @@ RememberMeAuthenticationFilter filter =
     new RememberMeAuthenticationFilter(authenticationManager,rememberMeServices);
     new RememberMeAuthenticationFilter(authenticationManager,rememberMeServices);
 ----
 ----
 
 
+[[m3to4-deprecations-web-tbrms]]
 ==== TokenBasedRememberMeServices
 ==== TokenBasedRememberMeServices
 
 
 `TokenBasedRememberMeServices` default constructor and the `setKey` and `setUserDetailsService` methods were removed in favor of constructor injection.
 `TokenBasedRememberMeServices` default constructor and the `setKey` and `setUserDetailsService` methods were removed in favor of constructor injection.
@@ -1260,6 +1304,7 @@ TokenBasedRememberMeServices services =
     new TokenBasedRememberMeServices(key,userDetailsService);
     new TokenBasedRememberMeServices(key,userDetailsService);
 ----
 ----
 
 
+[[m3to4-deprecations-web-cscs]]
 ==== ConcurrentSessionControlStrategy
 ==== ConcurrentSessionControlStrategy
 
 
 `ConcurrentSessionControlStrategy` was replaced with `ConcurrentSessionControlAuthenticationStrategy`.
 `ConcurrentSessionControlStrategy` was replaced with `ConcurrentSessionControlAuthenticationStrategy`.
@@ -1283,10 +1328,12 @@ delegates.add(new RegisterSessionAuthenticationStrategy(sessionRegistry));
 CompositeSessionAuthenticationStrategy strategy = new CompositeSessionAuthenticationStrategy(delegates);
 CompositeSessionAuthenticationStrategy strategy = new CompositeSessionAuthenticationStrategy(delegates);
 ----
 ----
 
 
+[[m3to4-deprecations-web-sfps]]
 ==== SessionFixationProtectionStrategy
 ==== SessionFixationProtectionStrategy
 
 
 `SessionFixationProtectionStrategy` removed `setRetainedAttributes` method in favor of users subclassing `SessionFixationProtectionStrategy` and overriding `extractAttributes` method.
 `SessionFixationProtectionStrategy` removed `setRetainedAttributes` method in favor of users subclassing `SessionFixationProtectionStrategy` and overriding `extractAttributes` method.
 
 
+[[m3to4-deprecations-web-baf]]
 ==== BasicAuthenticationFilter
 ==== BasicAuthenticationFilter
 
 
 `BasicAuthenticationFilter` default constructor and the `setAuthenticationManager` and `setRememberMeServices` methods were removed in favor of constructor injection.
 `BasicAuthenticationFilter` default constructor and the `setAuthenticationManager` and `setRememberMeServices` methods were removed in favor of constructor injection.
@@ -1307,6 +1354,7 @@ BasicAuthenticationFilter filter =
     new BasicAuthenticationFilter(authenticationManager,entryPoint, ignoreFailure);
     new BasicAuthenticationFilter(authenticationManager,entryPoint, ignoreFailure);
 ----
 ----
 
 
+[[m3to4-deprecations-web-scpf]]
 ==== SecurityContextPersistenceFilter
 ==== SecurityContextPersistenceFilter
 
 
 `SecurityContextPersistenceFilter` removed the `setSecurityContextRepository` in favor of constructor injection.
 `SecurityContextPersistenceFilter` removed the `setSecurityContextRepository` in favor of constructor injection.
@@ -1325,6 +1373,7 @@ should be replaced with
 SecurityContextPersistenceFilter filter = new SecurityContextPersistenceFilter(securityContextRepository);
 SecurityContextPersistenceFilter filter = new SecurityContextPersistenceFilter(securityContextRepository);
 ----
 ----
 
 
+[[m3to4-deprecations-web-rcaf]]
 ==== RequestCacheAwareFilter
 ==== RequestCacheAwareFilter
 
 
 `RequestCacheAwareFilter` removed the `setRequestCache` in favor of constructor injection.
 `RequestCacheAwareFilter` removed the `setRequestCache` in favor of constructor injection.
@@ -1343,6 +1392,7 @@ should be replaced with
 RequestCacheAwareFilter filter = new RequestCacheAwareFilter(requestCache);
 RequestCacheAwareFilter filter = new RequestCacheAwareFilter(requestCache);
 ----
 ----
 
 
+[[m3to4-deprecations-web-csf]]
 ==== ConcurrentSessionFilter
 ==== ConcurrentSessionFilter
 
 
 `ConcurrentSessionFilter` removed the default constructor and the `setExpiredUrl` and `setSessionRegistry` methods in favor of constructor injection.
 `ConcurrentSessionFilter` removed the default constructor and the `setExpiredUrl` and `setSessionRegistry` methods in favor of constructor injection.
@@ -1362,6 +1412,7 @@ should be replaced with
 ConcurrentSessionFilter filter = new ConcurrentSessionFilter(sessionRegistry,expiredUrl);
 ConcurrentSessionFilter filter = new ConcurrentSessionFilter(sessionRegistry,expiredUrl);
 ----
 ----
 
 
+[[m3to4-deprecations-web-smf]]
 ==== SessionManagementFilter
 ==== SessionManagementFilter
 
 
 `SessionManagementFilter` removed the `setSessionAuthenticationStrategy` method in favor of constructor injection.
 `SessionManagementFilter` removed the `setSessionAuthenticationStrategy` method in favor of constructor injection.
@@ -1380,6 +1431,7 @@ should be replaced with
 SessionManagementFilter filter = new SessionManagementFilter(securityContextRepository, sessionAuthenticationStrategy);
 SessionManagementFilter filter = new SessionManagementFilter(securityContextRepository, sessionAuthenticationStrategy);
 ----
 ----
 
 
+[[m3to4-deprecations-web-rm]]
 ==== RequestMatcher
 ==== RequestMatcher
 
 
 The `RequestMatcher` and its implementations have moved from the package `org.springframework.security.web.util` to `org.springframework.security.web.util.matcher`.
 The `RequestMatcher` and its implementations have moved from the package `org.springframework.security.web.util` to `org.springframework.security.web.util.matcher`.
@@ -1393,6 +1445,7 @@ Specifically
 * `org.springframework.security.web.util.RequestMatcherEditor` -> `org.springframework.security.web.util.matcher.RequestMatcherEditor`
 * `org.springframework.security.web.util.RequestMatcherEditor` -> `org.springframework.security.web.util.matcher.RequestMatcherEditor`
 * `org.springframework.security.web.util.RegexRequestMatcher` -> `org.springframework.security.web.util.matcher.RegexRequestMatcher`
 * `org.springframework.security.web.util.RegexRequestMatcher` -> `org.springframework.security.web.util.matcher.RegexRequestMatcher`
 
 
+[[m3to4-deprecations-web-wseh]]
 ==== WebSecurityExpressionHandler
 ==== WebSecurityExpressionHandler
 
 
 `WebSecurityExpressionHandler` was removed in favor of using `SecurityExpressionHandler<FilterInvocation>`.
 `WebSecurityExpressionHandler` was removed in favor of using `SecurityExpressionHandler<FilterInvocation>`.
@@ -1411,6 +1464,7 @@ it needs to be updated to
 SecurityExpressionHandler<FilterInvocation> handler = ...
 SecurityExpressionHandler<FilterInvocation> handler = ...
 ----
 ----
 
 
+[[m3to4-role-prefixing]]
 == Automatic ROLE_ prefixing
 == Automatic ROLE_ prefixing
 
 
 Spring Security 4 made the use of ROLE_ consistent.
 Spring Security 4 made the use of ROLE_ consistent.