123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <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>
- <li>All of the EH-CACHE cache implementations provided with Acegi Security have
- now been refactored to use a net.sf.ehcache.Cache obtained from
- EhCacheManagerFactoryBean, which is included with Spring 1.1.1 and above.
- See http://opensource.atlassian.com/confluence/spring/display/DISC/Caching+the+result+of+methods+using+Spring+and+EHCache
- for more about this bean, or the Contacts sample application for how to
- configure the EH-CACHE implementations provided with Acegi Security.
- Note the "cache" property is now required, and the old internally-managed
- cache properties have been removed.</li>
- </ul>
- </body>
- </html>
|