saving updates to migrate

This commit is contained in:
Rob Winch 2015-03-16 12:32:58 -05:00
parent b85ad33aef
commit a18fa3f1db
1 changed files with 71 additions and 17 deletions

View File

@ -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://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://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]
----
<http>
<openid-login login-processing-url="/j_spring_openid_security_login"/> <!--1-->
<openid-login login-processing-url="/j_spring_openid_security_check"/> <!--1-->
...
</http>
----
@ -354,21 +357,21 @@ For example, if an application using Spring Security 3.2.x contains a configurat
[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:
[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:
@ -394,10 +397,10 @@ For example, if an application using Spring Security 3.2.x contains a configurat
[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:
@ -405,8 +408,8 @@ The configuration will need to be updated to something similar to the following
[source,xml]
----
<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="targetUrl" value="/" />
@ -445,10 +448,12 @@ In Spring Security 3.x, the following configuration
[source,xml]
----
<http>
...
<headers>
<frame-options policy="SAMEORIGIN"/>
</headers>
...
</http>
----
would add the following header:
@ -583,8 +588,10 @@ http
A number of deprecations were removed in Spring Security 4.
The following section describes how to migrate the removal of all deprecations.
[[m3to4-deprecations-acl]]
=== spring-security-acl
[[m3to4-deprecations-acl-aclimpl]]
==== AclImpl
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);
----
[[m3to4-deprecations-acl-ehcachebasedaclcache]]
==== EhCacheBasedAclCache
`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);
----
[[m3to4-deprecations-cas]]
=== spring-security-cas
[[m3to4-deprecations-cas-serviceauthenticationdetailssource]]
==== ServiceAuthenticationDetailsSource
`ServiceAuthenticationDetailsSource` removed the deprecated construtors that defaulted the `ServiceProperties`.
@ -684,8 +694,11 @@ new ServiceAuthenticationDetailsSource(serviceProperties);
new ServiceAuthenticationDetailsSource(serviceProperties, artifactId);
----
[[m3to4-deprecations-config]]
=== spring-security-config
[[m3to4-deprecations-config-fids]]
==== 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>>.
@ -707,6 +720,7 @@ it needs to be replaced with:
</filter-security-metadata-source>
----
[[m3to4-deprecations-config-http-adp]]
==== 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>>.
This means if you have something like this:
@ -728,6 +742,7 @@ it needs to be replaced with:
</http>
----
[[m3to4-deprecations-config-http-pt]]
==== http@path-type
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:
@ -749,6 +764,7 @@ it needs to be replaced with:
</http>
----
[[m3to4-deprecations-config-fcm-pt]]
==== 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>>.
This means if you have something like this:
@ -770,6 +786,7 @@ it needs to be replaced with:
</filter-chain-map>
----
[[m3to4-deprecations-config-sms-pt]]
==== 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>>.
This means if you have something like this:
@ -791,8 +808,10 @@ it needs to be replaced with:
</filter-security-metadata-source>
----
[[m3to4-deprecations-core]]
=== spring-security-core
[[m3to4-deprecations-core-securityconfig]]
==== SecurityConfig
`SecurityConfig.createSingleAttributeList(String)` was removed in favor of using `SecurityConfig.createList(String...)`.
@ -812,6 +831,7 @@ List<ConfigAttribute> attrs =
SecurityConfig.createList("ROLE_USER");
----
[[m3to4-deprecations-core-udsw]]
==== UserDetailsServiceWrapper
`UserDetailsServiceWrapper` was deprecated in favor of using `RoleHierarchyAuthoritiesMapper`.
@ -841,6 +861,8 @@ then it needs to be migrated with something like this:
TBD
[[m3to4-deprecations-core-udw]]
==== UserDetailsWrapper
`UserDetailsWrapper` was deprecated in favor of using `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);
----
[[m3to4-deprecations-core-aadm]]
==== AbstractAccessDecisionManager
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>
----
[[m3to4-deprecations-core-ae]]
==== AuthenticationException
The constructor that accepts extraInformation within `AuthenticationException` was removed to prevent accidental leaking of the `UserDetails`.
@ -927,6 +951,8 @@ to:
new LockedException("Message");
----
[[m3to4-deprecations-core-aap]]
==== AnonymousAuthenticationProvider
`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);
----
[[m3to4-deprecations-core-adsi]]
==== AuthenticationDetailsSourceImpl
`AuthenticationDetailsSourceImpl` was deprecated in favor of writing a custom `AuthenticationDetailsSource`.
@ -968,6 +995,7 @@ public CustomSourceAuthenticationDetailsSource implements AuthenticationDetailsS
}
----
[[m3to4-deprecations-core-pm]]
==== ProviderManager
`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);
----
[[m3to4-deprecations-core-rmap]]
==== RememberMeAuthenticationProvider
`RememberMeAuthenticationProvider` had the default constructor and the `setKey` method removed in favor of constructor injection.
For example:
@ -1007,6 +1036,7 @@ should be migrated to:
RememberMeAuthenticationProvider provider = new RememberMeAuthenticationProvider(key);
----
[[m3to4-deprecations-core-gai]]
==== GrantedAuthorityImpl
`GrantedAuthorityImpl` was removed in favor of `SimpleGrantedAuthority` or implementing your own.
@ -1024,12 +1054,15 @@ should be replaced with
new SimpleGrantedAuthority(role);
----
[[m3to4-deprecations-core-imdi]]
==== InMemoryDaoImpl
`InMemoryDaoImpl` was replaced in favor of `InMemoryUserDetailsManager`
[[m3to4-deprecations-openid]]
==== spring-security-openid
[[m3to4-deprecations-openid-oi4jc]]
==== OpenID4JavaConsumer
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);
----
[[m3to4-deprecations-taglibs]]
=== spring-security-taglibs
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>
----
[[m3to4-deprecations-web]]
=== spring-security-web
[[m3to4-deprecations-web-fcp]]
==== FilterChainProxy
`FilterChainProxy` removed the `setFilterChainMap` method in favor of constructor injection.
@ -1121,6 +1157,7 @@ FilterChainProxy filter = ...
List<SecurityFilterChain> mappings = filter.getFilterChains();
----
[[m3to4-deprecations-web-etf]]
==== ExceptionTranslationFilter
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);
----
[[m3to4-deprecations-web-aapf]]
==== AbstractAuthenticationProcessingFilter
`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` 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());
----
[[m3to4-deprecations-web-luaep]]
==== LoginUrlAuthenticationEntryPoint
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);
----
[[m3to4-deprecations-web-pagauds]]
==== PreAuthenticatedGrantedAuthoritiesUserDetailsService
`PreAuthenticatedGrantedAuthoritiesUserDetailsService` removed `createuserDetails` in favor of `createUserDetails`.
[[m3to4-deprecations-web-arms]]
==== AbstractRememberMeServices
`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);
----
[[m3to4-deprecations-web-rmaf]]
==== RememberMeAuthenticationFilter
`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);
----
[[m3to4-deprecations-web-tbrms]]
==== TokenBasedRememberMeServices
`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);
----
[[m3to4-deprecations-web-cscs]]
==== ConcurrentSessionControlStrategy
`ConcurrentSessionControlStrategy` was replaced with `ConcurrentSessionControlAuthenticationStrategy`.
@ -1283,10 +1328,12 @@ delegates.add(new RegisterSessionAuthenticationStrategy(sessionRegistry));
CompositeSessionAuthenticationStrategy strategy = new CompositeSessionAuthenticationStrategy(delegates);
----
[[m3to4-deprecations-web-sfps]]
==== SessionFixationProtectionStrategy
`SessionFixationProtectionStrategy` removed `setRetainedAttributes` method in favor of users subclassing `SessionFixationProtectionStrategy` and overriding `extractAttributes` method.
[[m3to4-deprecations-web-baf]]
==== BasicAuthenticationFilter
`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);
----
[[m3to4-deprecations-web-scpf]]
==== SecurityContextPersistenceFilter
`SecurityContextPersistenceFilter` removed the `setSecurityContextRepository` in favor of constructor injection.
@ -1325,6 +1373,7 @@ should be replaced with
SecurityContextPersistenceFilter filter = new SecurityContextPersistenceFilter(securityContextRepository);
----
[[m3to4-deprecations-web-rcaf]]
==== RequestCacheAwareFilter
`RequestCacheAwareFilter` removed the `setRequestCache` in favor of constructor injection.
@ -1343,6 +1392,7 @@ should be replaced with
RequestCacheAwareFilter filter = new RequestCacheAwareFilter(requestCache);
----
[[m3to4-deprecations-web-csf]]
==== ConcurrentSessionFilter
`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);
----
[[m3to4-deprecations-web-smf]]
==== SessionManagementFilter
`SessionManagementFilter` removed the `setSessionAuthenticationStrategy` method in favor of constructor injection.
@ -1380,6 +1431,7 @@ should be replaced with
SessionManagementFilter filter = new SessionManagementFilter(securityContextRepository, sessionAuthenticationStrategy);
----
[[m3to4-deprecations-web-rm]]
==== RequestMatcher
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.RegexRequestMatcher` -> `org.springframework.security.web.util.matcher.RegexRequestMatcher`
[[m3to4-deprecations-web-wseh]]
==== WebSecurityExpressionHandler
`WebSecurityExpressionHandler` was removed in favor of using `SecurityExpressionHandler<FilterInvocation>`.
@ -1411,6 +1464,7 @@ it needs to be updated to
SecurityExpressionHandler<FilterInvocation> handler = ...
----
[[m3to4-role-prefixing]]
== Automatic ROLE_ prefixing
Spring Security 4 made the use of ROLE_ consistent.