mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-11-25 19:01:08 +00:00
40 lines
1.9 KiB
HTML
40 lines
1.9 KiB
HTML
<html>
|
|
<head>
|
|
<title>Acegi Security - Upgrading from version 0.6 to 0.7</title>
|
|
</head>
|
|
<body>
|
|
<h1>Upgrading from 0.6 to 0.7</h1>
|
|
|
|
<p>
|
|
The following should help most casual users of the project update their
|
|
applications:
|
|
<ul>
|
|
<li>MethodDefinitionMap, which is usually used by MethodSecurityInterceptor
|
|
for its objectDefinitionSource property, has been changed. From 0.7, when
|
|
MethodDefinitionMap is queried for configuration attributes associated with
|
|
secure MethodInvocations, it will use any method matching in the method
|
|
invocation class (as it always has) plus any method matching any interface
|
|
the MethodInvocation class directly implements. So consider a PersonManager
|
|
interface, a PersonManagerImpl class that implements it, and a definition of
|
|
PersonManager.findAll=ROLE_FOO. In this example, any query for either
|
|
PersonManager.findAll OR PersonManagerImpl.findAll will return ROLE_FOO.
|
|
As we have always encouraged definition against the interface names (as per
|
|
this example), this change should not adversely impact users. This change
|
|
was necessary because of the new MethodDefinitionSourceAdvisor (see below).
|
|
Refer to the MethodDefinitionMap JavaDocs for further clarification.</li>
|
|
|
|
<li>MethodDefinitionSourceAdvisor can now be used instead of defining proxies
|
|
for secure business objects. The advisor is fully compatible with both
|
|
MethodDefinitionMap and MethodDefinitionAttributes. Using an advisor allows
|
|
caching of which methods the MethodSecurityInterceptor should handle, thus
|
|
providing a performance benefit as MethodSecurityInterceptor is not called
|
|
for public (non-secure) objects. It also simplifies configuration.</li>
|
|
|
|
<li>MethodSecurityInterceptor has moved from
|
|
net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor to
|
|
net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.
|
|
A simple find and replace will suffice to update your application contexts.</li>
|
|
</ul>
|
|
</body>
|
|
</html>
|