1
0
mirror of synced 2026-08-04 01:07:02 +00:00

SEC-540: Moved announcements and upgrade directories from doc module to src/site.

This commit is contained in:
Luke Taylor
2007-09-05 11:32:20 +00:00
parent 699f5389f4
commit 31360ecce6
26 changed files with 105 additions and 164 deletions
@@ -0,0 +1,16 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Initial public release
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,34 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.2 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added Commons Attributes support and sample (thanks to Cameron Braid)
o Added JBoss container adapter
o Added Resin container adapter
o Added JDBC DAO authentication provider
o Added several filter implementations for container adapter integration
o Added SecurityInterceptor startup time validation of ConfigAttributes
o Added more unit tests
Fixed bugs:
o Fixed switch block in voting decision manager implementations
Changes:
o Refactored ConfigAttribute to interface and added concrete implementation
o Enhanced diagnostics information provided by sample application debug.jsp
o Modified sample application for wider container portability (Resin, JBoss)
o Removed Spring MVC interceptor for container adapter integration
o Documentation improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,28 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.3 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added "in container" unit test system for container adapters and sample app
o Added library extractor tool to reduce the "with deps" ZIP release sizes
o Added unit test to the attributes sample
o Added Jalopy source formatting
Changes:
o Modified all files to use net.sf.acegisecurity namespace
o Renamed springsecurity.xml to acegisecurity.xml for consistency
o Reduced length of ZIP and JAR filenames
o Clarified licenses and sources for all included libraries
o Updated documentation to reflect new file and package names
o Setup Sourceforge.net project and added to CVS etc
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,40 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.4 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added HTTP session authentication as an alternative to container adapters
o Added HTTP request security interceptor (offers considerable flexibility)
o Added security taglib
o Added Clover test coverage instrumentation (currently 97.2%)
o Added support for Catalina (Tomcat) 4.1.30 to in-container integration
tests
o Added HTML test and summary reporting to in-container integration tests
Fixed bugs:
o Fixed case handling support in data access object authentication provider
Changes:
o Updated JARs to Spring Framework release 1.0, with associated AOP changes
o Updated to Apache License version 2.0
o Updated copyright with permission of past contributors
o Refactored unit tests to use mock objects and focus on a single class each
o Refactored many classes to enable insertion of mock objects during testing
o Refactored core classes to ease support of new secure object types
o Changed package layout to better describe the role of contained items
o Changed the extractor to extract additional classes from JBoss and Catalina
o Changed Jetty container adapter configuration (see reference documentation)
o Improved AutoIntegrationFilter handling of deployments without JBoss JARs
o Documentation improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,37 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.5.1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added samples/quick-start
o Added NullRunAsManager and made default for AbstractSecurityInterceptor
o Added event notification (see net.sf.acegisecurity.providers.dao.event)
Fixed bugs:
o Fixed issue with hot deploy of EhCacheBasedTicketCache (used with CAS)
o Fixed issue with NullPointerExceptions in taglib
Changes:
o Updated JAR to Spring 1.0.2
o Updated JAR to Commons Attributes CVS snapshot from Spring 1.0.2 release
o Updated GrantedAuthorityImpl to be serializable (JBoss support)
o Updated Authentication interface to present extra details for a request
o Updated Authentication interface to subclass java.security.Principal
o Refactored DaoAuthenticationProvider caching (refer to reference docs)
o Improved HttpSessionIntegrationFilter to manage additional attributes
o Improved URL encoding during redirects
o Removed DaoAuthenticationToken and session-based caching
o Documentation improvements
o Upgrade Note: DaoAuthenticationProvider no longer has a "key" property
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,42 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.5 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added single sign on support via Yale Central Authentication Service (CAS)
o Added full support for HTTP Basic Authentication
o Added caching for DaoAuthenticationProvider successful authentications
o Added Burlap and Hessian remoting to Contacts sample application
o Added pluggable password encoders including plaintext, SHA and MD5
o Added pluggable salt sources to enhance security of hashed passwords
o Added FilterToBeanProxy to obtain filters from Spring application context
o Added support for prepending strings to roles created by JdbcDaoImpl
o Added support for user definition of SQL statements used by JdbcDaoImpl
o Added definable prefixes to avoid expectation of "ROLE_" GrantedAuthoritys
o Added pluggable AuthenticationEntryPoints to SecurityEnforcementFilter
o Added Apache Ant path syntax support to SecurityEnforcementFilter
o Added filter to automate web channel requirements (eg HTTPS redirection)
Fixed bugs:
o Fixed FilterInvocation.getRequestUrl() to also include getPathInfo()
o Fixed Contacts sample application tags
Changes:
o Updated JAR to Spring 1.0.1
o Updated several classes to use absolute (not relative) redirection URLs
o Refactored filters to use Spring application context lifecycle support
o Improved constructor detection of nulls in User and other key objects
o Established acegisecurity-developer mailing list
o Documentation improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,39 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.6.1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added additional DaoAuthenticationProvider event when user not found
o Added Authentication.getDetails() to DaoAuthenticationProvider response
o Added DaoAuthenticationProvider.hideUserNotFoundExceptions (default=true)
o Added PasswordAuthenticationProvider for password-validating DAOs (eg LDAP)
o Added FilterToBeanProxy compatibility with ContextLoaderServlet (lazy
inits)
o Added convenience methods to ConfigAttributeDefinition
Fixed bugs:
o Fixed MethodDefinitionAttributes to implement ObjectDefinitionSource change
o Fixed EH-CACHE-based caching implementation behaviour when cache exists
o Fixed Ant "release" target not including project.properties
o Fixed GrantedAuthorityEffectiveAclsResolver if null ACLs provided to method
Changes:
o Resolved to use http://apr.apache.org/versioning.html for future versioning
o Improved sample applications' bean reference notation
o Clarified contract for ObjectDefinitionSource.getAttributes(Object)
o Extracted removeUserFromCache(String) to UserCache interface
o Improved ConfigAttributeEditor so it trims preceding and trailing spaces
o Refactored UsernamePasswordAuthenticationToken.getDetails() to Object
o Documentation improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,50 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.6 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added domain object instance access control list (ACL) packages
o Added feature so DaoAuthenticationProvider returns User in Authentication
o Added AbstractIntegrationFilter.secureContext property for custom contexts
o Added stack trace logging to SecurityEnforcementFilter
o Added exception-specific target URLs to AbstractProcessingFilter
o Added JdbcDaoImpl hook so subclasses can insert custom granted authorities
o Added AuthenticationProvider that wraps JAAS login modules
o Added support for EL expressions in the authz tag library
o Added failed Authentication object to AuthenticationExceptions
o Added signed JARs to all official release builds (see readme.txt)
o Added remote client authentication validation package
o Added protected sendAccessDeniedError method to SecurityEnforcementFilter
Fixed bugs:
o Fixed CasAuthenticationToken if proxy granting ticket callback not
requested
o Fixed EH-CACHE handling on web context refresh
Changes:
o Updated Authentication to be serializable (Weblogic support)
o Updated JAR to Spring 1.1 RC 1
o Updated to Clover 1.3
o Updated to HSQLDB version 1.7.2 Release Candidate 6D
o Refactored User to net.sf.acegisecurity.UserDetails interface
o Refactored CAS package to store UserDetails in CasAuthenticationToken
o Improved organisation of DaoAuthenticationProvider to facilitate
subclassing
o Improved test coverage (now 98.3%)
o Improved JDBC-based tests to use in-memory database rather than filesystem
o Fixed Linux compatibility issues (directory case sensitivity etc)
o Fixed AbstractProcessingFilter to handle servlet spec container differences
o Fixed AbstractIntegrationFilter to resolve a Weblogic compatibility issue
o Documentation improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,68 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.7.0 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Major CVS repository restructure to support Maven and eliminate libraries
o Added AfterInvocationManager to mutate objects return from invocations
o Added BasicAclEntryAfterInvocationProvider to ACL evaluate returned Object
o Added BasicAclEntryAfterInvocationCollectionFilteringProvider
o Added security propagation during RMI invocations (from sandbox)
o Added security propagation for Spring's HTTP invoker
o Added BasicAclEntryVoter, which votes based on AclManager permissions
o Added AspectJ support (especially useful for instance-level security)
o Added MethodDefinitionSourceAdvisor for performance and autoproxying
o Added MethodDefinitionMap querying of interfaces defined by secure objects
o Added AuthenticationProcessingFilter.setDetails for use by subclasses
o Added 403-causing exception to HttpSession via SecurityEnforcementFilter
o Added net.sf.acegisecurity.intercept.event package
o Added BasicAclExtendedDao interface and JdbcExtendedDaoImpl for ACL CRUD
o Added additional remoting protocol demonstrations to Contacts sample
o Added AbstractProcessingFilter property to always use defaultTargetUrl
o Added ContextHolderAwareRequestWrapper to integrate with getRemoteUser()
o Added attempted username to view if processed by
AuthenticationProcessingFilter
o Added UserDetails account and credentials expiration methods
o Added exceptions and events to support new UserDetails methods
o Added new exceptions to JBoss container adapter
Fixed bugs:
o Fixed ambiguous column references in JdbcDaoImpl default query
o Fixed AbstractProcessingFilter to use removeAttribute (JRun compatibility)
o Fixed GrantedAuthorityEffectiveAclResolver support of UserDetails
principals
o Fixed HttpSessionIntegrationFilter "cannot commit to container" during
logoff
Changes:
o Major improvements to Contacts sample application (now demos ACL security)
o Improved BasicAclProvider to only respond to specified ACL object requests
o Refactored MethodDefinitionSource to work with Method, not MethodInvocation
o Refactored AbstractFilterInvocationDefinitionSource to work with URL
Strings alone
o Refactored AbstractSecurityInterceptor to better support other AOP
libraries
o Improved performance of JBoss container adapter (see reference docs)
o Made DaoAuthenticationProvider detect null in Authentication.principal
o Improved JaasAuthenticationProvider startup error detection
o Refactored EH-CACHE implementations to use Spring IoC defined caches
instead
o AbstractProcessingFilter now has various hook methods to assist subclasses
o DaoAuthenticationProvider better detects AuthenticationDao interface
violations
o The User class has a new constructor (the old constructor is deprecated)
o Moved MethodSecurityInterceptor to ...intercept.method.aopalliance package
o Documentation improvements
o Test coverage improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,18 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.7.1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Fixed bugs:
o AbstractIntegrationFilter elegantly handles IOExceptions and
ServletExceptions within filter chain (see
http://opensource.atlassian.com/projects/spring/browse/SEC-20)
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,59 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.8.0 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o Added Digest Authentication support (RFC 2617 and RFC 2069)
o Added pluggable remember-me services
o Added pluggable mechnism to prevent concurrent login sessions
o FilterChainProxy added to significantly simplify web.xml configuration of
Acegi Security
o AuthenticationProcessingFilter now provides hook for extra credentials (eg
postcodes)
o New WebAuthenticationDetails class now used by processing filters for
Authentication.setDetails()
o Additional debug-level logging
o Improved Tapestry support in AbstractProcessingFilter
Fixed bugs:
o Correct issue with JdbcDaoImpl default SQL query not using consistent case
sensitivity
o Improve Linux and non-Sun JDK (specifically IBM JDK) compatibility
o Log4j now included in generated WAR artifacts (fixes issue with Log4j
listener)
o Correct NullPointerException in FilterInvocationDefinitionSource
implementations
Changes:
o Made ConfigAttributeDefinition and ConfigAttribute Serializable
o User now accepts blank passwords (null passwords still rejected)
o FilterToBeanProxy now searches hierarchical bean factories
o User now accepted blank passwords (null passwords still rejected)
o ContextHolderAwareRequestWrapper now provides a getUserPrincipal() method
o HttpSessionIntegrationFilter no longer creates a HttpSession unnecessarily
o FilterSecurityInterceptor now only executes once per request (improves
performance with SiteMesh)
o JaasAuthenticatinProvider now uses System.property
"java.security.auth.login.config"
o JaasAuthenticationCallbackHandler Authentication is passed to handle method
setAuthentication removed
o Added AuthenticationException to the AutenticationEntryPoint.commence
method signature
o Added AccessDeniedException to the
SecurityEncorcementFilter.sendAccessDeniedError method signature
o FilterToBeanProxy now addresses lifecycle mismatch (IoC container vs
servlet container) issue
o Significantly refactor "well-known location model" to authentication
processing mechanism and HttpSessionContextIntegrationFilter model
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,18 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.8.1.1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Fixed bugs:
o HttpSessionContextIntegrationFilter elegantly handles IOExceptions and
ServletExceptions within filter chain (see
http://opensource.atlassian.com/projects/spring/browse/SEC-20)
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,43 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.8.1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
New Features:
o X509 (certificate-based) authentication support
Fixed bugs:
o SecurityEnforcementFilter caused NullPointerException when anonymous
authentication used with BasicProcessingFilterEntryPoint
o FilterChainProxy now supports replacement of ServletRequest and
ServetResponse by Filter beans
o Corrected Authz parsing of whitespace in GrantedAuthoritys
o TokenBasedRememberMeServices now respects expired users, expired
credentials and disabled users
o HttpSessionContextIntegrationFilter now handles HttpSession invalidation
without redirection
o StringSplitUtils.split() ignored delimiter argument
o DigestProcessingFilter now provides userCache getter and setter
o Contacts Sample made to work with UserDetails-based Principal
Changes:
o UserDetails now advises locked accounts, with corresponding
DaoAuthenticationProvider events and enforcement
o ContextHolderAwareRequestWrapper methods return null if user is anonymous
o AbstractBasicAclEntry improved compatibility with Hibernate
o User now provides a more useful toString() method
o Update to match Spring 1.1.5 official JAR dependencies (NB: now using
Servlet 2.4 and related JSP/taglib JARs)
o Documentation improvements
o Test coverage improvements
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,33 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.8.2 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Fixed bugs:
o Correct location of AuthenticationSimpleHttpInvokerRequestExecutor in
clientContext.xml
o TokenBasedRememberMeServices changed to use long instead of int for
tokenValiditySeconds (SPR-807)
o Handle null Authentication.getAuthorities() in AuthorizeTag
o PasswordDaoAuthenticationProvider no longer stores String against
Authentication.setDetails()
Changes:
o Update commons-codec dependency to 1.3
o AbstractProcessingFilter no longer has setters for failures, it uses the
exceptionMappings property
o Update to match Spring 1.2-RC2 official JAR dependencies
o AuthenticationProcessingFilter now provides an obtainUsername method
o Correct PathBasedFilterInvocationDefinitionMap compatibility with Spring
1.2-RC2
o Refactoring to leverage Spring's Assert class and mocks where possible
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,18 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.8.3 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Fixed bugs:
o HttpSessionContextIntegrationFilter elegantly handles IOExceptions and
ServletExceptions within filter chain (see
http://opensource.atlassian.com/projects/spring/browse/SEC-20)
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,17 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 0.9.0 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Changes:
o All changes are in JIRA at
http://opensource2.atlassian.com/projects/spring/secure/ReleaseNote.jspa?projectId=10040
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,17 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 1.0.0 Final release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Changes:
o All changes are in JIRA at
http://opensource2.atlassian.com/projects/spring/secure/ReleaseNote.jspa?projectId=10040
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,17 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 1.0.0 RC1 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Changes:
o All changes are in JIRA at
http://opensource2.atlassian.com/projects/spring/secure/ReleaseNote.jspa?projectId=10040
Have fun!
-The acegi-security-doc team
@@ -0,0 +1,17 @@
The acegi-security-doc team is pleased to announce the Acegi Security System
for Spring 1.0.0 RC2 release!
http://acegisecurity.org/
Acegi Security System for Spring
Changes in this version include:
Changes:
o All changes are in JIRA at
http://opensource2.atlassian.com/projects/spring/secure/ReleaseNote.jspa?projectId=10040
Have fun!
-The acegi-security-doc team
@@ -1,16 +1,10 @@
<html>
<head>
<title>Acegi Security - Upgrading from version 0.3 to 0.4</title>
</head>
<body>
<h1>Upgrading from 0.3 to 0.4</h1>
<p>Several changes were made between version 0.3 and 0.4 of the project.
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.3 to 0.4</title></properties><body><section name="Upgrading from 0.3 to 0.4"><p>Several changes were made between version 0.3 and 0.4 of the project.
These changes increased the modularity of the code, enhanced unit testing,
made package roles clearer, and added compelling alternatives to container
adapters and using web.xml security constraints to protect HTTP resources.
<p>Unfortunately, changes to the API and package locations were required. The
</p><p>Unfortunately, changes to the API and package locations were required. The
following should help most casual users of the project update their
applications:
@@ -34,20 +28,21 @@ applications:
net.sf.acegisecurity.intercept.web package. This will give you considerably
more flexibility, and reuse the same concepts as you'd be familiar with
via the method security interception system. Refer to the reference
documentation or Contacts sample application.</li>
documentation or Contacts sample application.</security-constraint></li>
<li>The Contacts sample application now builds two distributions: contacts.war
can be instantly deployed without configuring any container adapters,
whilst contacts-container-adapter.war still uses container adapters. The
contacts.war uses the net.sf.acegisecurity.intercept.web package to
protect HTTP URLs, rather than web.xml <security-constraint>s.</li>
protect HTTP URLs, rather than web.xml <security-constraint>s.</security-constraint></li>
<li>If you're using the Jetty container adapter, please check the jetty.xml
requirements in the reference documentation. There has been a minor change.</li>
</ul>
<p>
</p><p>
We hope you find the new features useful in your projects.
</body>
</html>
</p></section></body></document>
@@ -1,11 +1,5 @@
<html>
<head>
<title>Acegi Security - Upgrading from version 0.4 to 0.5</title>
</head>
<body>
<h1>Upgrading from 0.4 to 0.5</h1>
<p>The following should help most casual users of the project update their
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.4 to 0.5</title></properties><body><section name="Upgrading from 0.4 to 0.5"><p>The following should help most casual users of the project update their
applications:
<ul>
@@ -48,12 +42,13 @@ applications:
Please continue using the Spring Users mailing list for general support.</li>
</ul>
<p>
</p><p>
There are also lots of new features you might wish to consider for your
projects. These include CAS integration, pluggable password encoders
(such as MD5 and SHA), along with pluggable salt sources. We hope you find
the new features useful in your projects.
</body>
</html>
</p></section></body></document>
@@ -1,11 +1,5 @@
<html>
<head>
<title>Acegi Security - Upgrading from version 0.3 to 0.4</title>
</head>
<body>
<h1>Upgrading from 0.5 to 0.6</h1>
<p>
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.3 to 0.4</title></properties><body><section name="Upgrading from 0.5 to 0.6"><p>
The following should help most casual users of the project update their
applications:
<ul>
@@ -21,31 +15,31 @@ Locate and remove all property references to
By default DaoAuthenticationProvider returns an Authentication object
containing the relevant User, which allows access to additional properties.
Where possible, we recommend you change your code to something like this,
so that you can leave forcePrincipalAsString to the false default:<br><br>
so that you can leave forcePrincipalAsString to the false default:<br></br><br></br>
<code>
String username = authentication.getPrincipal();<br>
if (authentication.getPrincipal() instanceof User) {<br>
username = ((User) authentication.getPrincipal()).getUsername();<br>
}</br>
</code><br>
String username = authentication.getPrincipal();<br></br>
if (authentication.getPrincipal() instanceof User) {<br></br>
username = ((User) authentication.getPrincipal()).getUsername();<br></br>
}
</code><br></br>
</li>
<li>The signature of AuthenticationDaos have changed. In concrete
implementations, modify the User to UserDetails, as shown below:<br><br>
implementations, modify the User to UserDetails, as shown below:<br></br><br></br>
<code>
public User loadUserByUsername(String username)<br>
throws UsernameNotFoundException, DataAccessException {<br><br>
public User loadUserByUsername(String username)<br></br>
throws UsernameNotFoundException, DataAccessException {<br></br><br></br>
to:<br><br>
to:<br></br><br></br>
public UserDetails loadUserByUsername(String username)<br>
throws UsernameNotFoundException, DataAccessException {<br><br>
public UserDetails loadUserByUsername(String username)<br></br>
throws UsernameNotFoundException, DataAccessException {<br></br><br></br>
</code>
Existing concrete implementations would be returning User, which implements
UserDetails, so no further code changes should be required.
</li>
<li>Similar signature changes (User -> UserDetails) are also required to any
<li>Similar signature changes (User -&gt; UserDetails) are also required to any
custom implementations of UserCache and SaltSource.</li>
<li>Any custom event listeners relying on AuthenticationEvent should note a
@@ -59,23 +53,24 @@ Locate and remove all property references to
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:<br><br>
in web.xml match the following:<br></br><br></br>
<code>
&lt;filter&gt;<br>
&lt;filter-name&gt;Acegi Security System for Spring Auto Integration Filter&lt;/filter-name&gt;<br>
&lt;filter-class&gt;net.sf.acegisecurity.util.FilterToBeanProxy&lt;/filter-class&gt;<br>
&lt;init-param&gt;<br>
&lt;param-name&gt;targetClass&lt;/param-name&gt;<br>
&lt;param-value&gt;net.sf.acegisecurity.ui.AutoIntegrationFilter&lt;/param-value&gt;<br>
&lt;/init-param&gt;<br>
&lt;/filter&gt;<br>
&lt;filter&gt;<br></br>
&lt;filter-name&gt;Acegi Security System for Spring Auto Integration Filter&lt;/filter-name&gt;<br></br>
&lt;filter-class&gt;net.sf.acegisecurity.util.FilterToBeanProxy&lt;/filter-class&gt;<br></br>
&lt;init-param&gt;<br></br>
&lt;param-name&gt;targetClass&lt;/param-name&gt;<br></br>
&lt;param-value&gt;net.sf.acegisecurity.ui.AutoIntegrationFilter&lt;/param-value&gt;<br></br>
&lt;/init-param&gt;<br></br>
&lt;/filter&gt;<br></br>
</code>
<br><br>
Then add the following to applicationContext.xml: <br><br>
<br></br><br></br>
Then add the following to applicationContext.xml: <br></br><br></br>
<code>
&lt;bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter"/&gt;<br>
&lt;bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter"/&gt;<br></br>
</code>
</li>
</ul>
</body>
</html>
</p></section></body></document>
@@ -1,11 +1,5 @@
<html>
<head>
<title>Acegi Security - Upgrading from version 0.6 to 0.7</title>
</head>
<body>
<h1>Upgrading from 0.6 to 0.7.0</h1>
<p>
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.6 to 0.7</title></properties><body><section name="Upgrading from 0.6 to 0.7.0"><p>
The following should help most casual users of the project update their
applications:
<ul>
@@ -56,5 +50,6 @@ be correct.
Note the "cache" property is now required, and the old internally-managed
cache properties have been removed.</li>
</ul>
</body>
</html>
</p></section></body></document>
@@ -1,11 +1,5 @@
<html>
<head>
<title>Acegi Security - Upgrading from version 0.7.0 to 0.8.0</title>
</head>
<body>
<h1>Upgrading from 0.7.0 to 0.8.0</h1>
<p>
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.7.0 to 0.8.0</title></properties><body><section name="Upgrading from 0.7.0 to 0.8.0"><p>
The following should help most casual users of the project update their
applications:
@@ -13,34 +7,35 @@ applications:
<li>HttpSessionIntegrationFilter has been removed. Use net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter instead.
Note you will need to set the mandatory "context" property to something like "net.sf.acegisecurity.context.security.SecureContextImpl".
It's not the default because we want no dependencies between the context package and the rest of Acegi Security.<br><br></li>
It's not the default because we want no dependencies between the context package and the rest of Acegi Security.<br></br><br></br></li>
<li>Filter ordering has changed. See the reference guide for confirmation of the correct ordering. Basically you should have
HttpSessionContextIntegrationFilter appear before any of your authentication mechanisms.<br><br></li>
HttpSessionContextIntegrationFilter appear before any of your authentication mechanisms.<br></br><br></br></li>
<li>IoC container hosted filter chains can now be used instead of lengthy web.xml declarations. See the reference guide or the
Contacts Sample for further information.<br><br></li>
Contacts Sample for further information.<br></br><br></br></li>
<li>Certain classes have been moved to new packages: ContextHolderAwareRequestWrapper (and its filter),
AuthenticationSimpleHttpInvokerRequestExecutor, ContextPropagatingRemoteInvocation,
SecureContext (and its implementation). These classes were moved as part of refactorings aimed at
improving the simplicity of the project's design.<br><br></li>
improving the simplicity of the project's design.<br></br><br></br></li>
<li>If you wish to use the new ConcurrentSessionController you must declare the HttpSessionEventPublisher context listener in your
web.xml<br><br></li>
web.xml<br></br><br></br></li>
<li>The JaasAuthenticationCallbackHandler interface has had it's setAuthentication method removed.
The handle method now takes both the Callback and Authentication objects as arguments.<br><br></li>
The handle method now takes both the Callback and Authentication objects as arguments.<br></br><br></br></li>
<li>Added AuthenticationException to the AutenticationEntryPoint.commence method signature.<br><br></li>
<li>Added AuthenticationException to the AutenticationEntryPoint.commence method signature.<br></br><br></br></li>
<li>Added AccessDeniedException to the SecurityEncorcementFilter.sendAccessDeniedError method signature.<br><br></li>
<li>Added AccessDeniedException to the SecurityEncorcementFilter.sendAccessDeniedError method signature.<br></br><br></br></li>
<li>The Authentication.getDetails() no longer returns simply the IP address used for authentication.
It now returns a WebAuthenticationDetails instance, which contains the IP address, session information,
and can be extended to store further details.<br><br></li>
and can be extended to store further details.<br></br><br></br></li>
</ul>
</body>
</html>
</p></section></body></document>
@@ -1,11 +1,5 @@
<html>
<head>
<title>Acegi Security - Upgrading from version 0.8.0 to 0.9.0</title>
</head>
<body>
<h1>Upgrading from 0.8.0 to 0.9.0</h1>
<p>
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.8.0 to 0.9.0</title></properties><body><section name="Upgrading from 0.8.0 to 0.9.0"><p>
The following should help most casual users of the project update their
applications:
@@ -22,79 +16,80 @@ applications:
SecurityContextHolder</a> and provides a single getter/setter for a
<a href="../multiproject/acegi-security/xref/net/sf/acegisecurity/context/SecurityContextHolder.html">SecurityContext</a>.
<code>SecurityContextHolder</code> guarantees to never return a <code>null</code> <code>SecurityContext</code>.
<code>SecurityContext</code> provides single getter/setter for <code>Authentication</code>.<BR><BR>
<code>SecurityContext</code> provides single getter/setter for <code>Authentication</code>.<br></br><br></br>
To migrate, simply modify all your code that previously worked with <code>ContextHolder</code>,
<code>SecureContext</code> and <code>Context</code> to directly call <code>SecurityContextHolder</code>
and work with the <code>SecurityContext</code> (instead of the now removed <code>Context</code>
and <code>SecureContext</code> interfaces).<br><br>
and <code>SecureContext</code> interfaces).<br></br><br></br>
For example, change:<br>
For example, change:<br></br>
<code>
SecureContext ctx = SecureContextUtils.getSecureContext();<br>
SecureContext ctx = SecureContextUtils.getSecureContext();<br></br>
</code>
to:<br>
to:<br></br>
<code>
SecurityContext ctx = SecurityContextHolder.getContext();<br>
SecurityContext ctx = SecurityContextHolder.getContext();<br></br>
</code>
<br>
and change:<br>
<br></br>
and change:<br></br>
<code>
&lt;bean id="httpSessionContextIntegrationFilter" class="net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter"><br>
&lt;property name="context">&lt;value>net.sf.acegisecurity.context.security.SecureContextImpl&lt;/value>&lt;/property><br>
&lt;/bean><br>
&lt;bean id="httpSessionContextIntegrationFilter" class="net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter"&gt;<br></br>
&lt;property name="context"&gt;&lt;value&gt;net.sf.acegisecurity.context.security.SecureContextImpl&lt;/value&gt;&lt;/property&gt;<br></br>
&lt;/bean&gt;<br></br>
</code>
to:<br>
to:<br></br>
<code>
&lt;bean id="httpSessionContextIntegrationFilter" class="net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter"><br>
&lt;property name="context">&lt;value>net.sf.acegisecurity.context.SecurityContextImpl&lt;/value>&lt;/property><br>
&lt;/bean><br>
&lt;bean id="httpSessionContextIntegrationFilter" class="net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter"&gt;<br></br>
&lt;property name="context"&gt;&lt;value&gt;net.sf.acegisecurity.context.SecurityContextImpl&lt;/value&gt;&lt;/property&gt;<br></br>
&lt;/bean&gt;<br></br>
</code>
<br>
<br></br>
We apologise for the inconvenience, but on a more positive note this means you receive strict
type checking, you no longer need to mess around with casting to and from <code>Context</code>
implementations, your applications no longer need to perform checking of <code>null</code> and
unexpected <code>Context</code> implementation types.<br><br></li>
unexpected <code>Context</code> implementation types.<br></br><br></br></li>
<li><code>AbstractProcessingFilter</code> has changed its getter/setter approach used for customised
authentication exception directions. See the <a href="../multiproject/acegi-security/xref/net/sf/acegisecurity/ui/AbstractProcessingFilter.html">
<code>AbstractProcessingFilter</code> JavaDocs</a> to learn more.<br><br></li>
<code>AbstractProcessingFilter</code> JavaDocs</a> to learn more.<br></br><br></br></li>
<li><code>AnonymousProcessingFilter</code> now has a <code>removeAfterRequest</code> property, which defaults to <code>true</code>. This
will cause the anonymous authentication token to be set to null at the end of each request, thus
avoiding the expense of creating a <code>HttpSession</code> in <code>HttpSessionContextIntegrationFilter</code>. You may
set this property to false if you would like the anoymous authentication token to be preserved,
which would be an unusual requirement.<br><br></li>
which would be an unusual requirement.<br></br><br></br></li>
<li>Event publishing has been refactored. New event classes have been added, and the location of
<code>LoggerListener</code> has changed. See the <code>net.sf.acegisecurity.event package</code>.<BR>
<br>
For example, change:<br>
<code>LoggerListener</code> has changed. See the <code>net.sf.acegisecurity.event package</code>.<br></br>
<br></br>
For example, change:<br></br>
<code>
&lt;bean id="loggerListener" class="net.sf.acegisecurity.providers.dao.event.LoggerListener"/><br>
&lt;bean id="loggerListener" class="net.sf.acegisecurity.providers.dao.event.LoggerListener"/&gt;<br></br>
</code>
to:<br>
to:<br></br>
<code>
&lt;bean id="loggerListener" class="net.sf.acegisecurity.event.authentication.LoggerListener"/>
</code><br><br>
&lt;bean id="loggerListener" class="net.sf.acegisecurity.event.authentication.LoggerListener"/&gt;
</code><br></br><br></br>
</li>
<li>Users of the <code>&lt;authz:authentication></code> JSP tag will generally need to set the <code>operation</code>
property equal to "username", as reflection is now used to retrieve the property displayed.<br><br></li>
<li>Users of the <code>&lt;authz:authentication&gt;</code> JSP tag will generally need to set the <code>operation</code>
property equal to "username", as reflection is now used to retrieve the property displayed.<br></br><br></br></li>
<li>
Users of <code>net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter</code> should note that it has been
renamed to <code>net.sf.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter</code>.<br><br>
renamed to <code>net.sf.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter</code>.<br></br><br></br>
</li>
<li>
The concurrent session support handling has changed. Please refer to the Reference Guide to
review the new configuration requirements.<br><br>
review the new configuration requirements.<br></br><br></br>
</li>
</ul>
</body>
</html>
</p></section></body></document>
@@ -1,22 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Acegi Security - Upgrading from version 0.8.0 to 1.0.0</title>
</head>
<body>
<h1>Upgrading from 0.9.0 to 1.0.0</h1>
<p>
<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Acegi Security - Upgrading from version 0.8.0 to 1.0.0</title></properties><body><section name="Upgrading from 0.9.0 to 1.0.0"><p>
The following should help most casual users of the project update their
applications:
</p>
<h1>Changes 0.9.0 to RC1</h1>
<ul>
</p></section><section name="Changes 0.9.0 to RC1"><ul>
<li>The top level package name has changed. Simply find "net.sf.acegisecurity" and replace with
"org.acegisecurity".</li>
@@ -46,13 +32,7 @@ you localise this file to another language, please consider attaching it to a
<a href="http://opensource2.atlassian.com/projects/spring/secure/BrowseProject.jspa?id=10040">new JIRA task</a>
so that we can include it in future Acegi Security releases.</li>
</ul>
<h1>Changes RC1 to RC2</h1>
<ul>
</ul></section><section name="Changes RC1 to RC2"><ul>
<li>
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter now requires an authenticationManager property. This will generally
@@ -86,13 +66,7 @@ method internally stores null, which helps avoids redeployment issue caused by t
approaches (see SEC-159 for further details).
</li>
</ul>
<h1>Changes RC2 to Final</h1>
<ul>
</ul></section><section name="Changes RC2 to Final"><ul>
<li>
AbstractProcessingFilter.onUnsuccessfulAuthentication(HttpServletRequest, HttpServletResponse)
@@ -115,7 +89,4 @@ instance. The LdapAuthoritiesPopulator interface and its default implementation
LdapUserDetails. Any customized versions should be updated to use the new method signatures.
</li>
</ul>
</body>
</html>
</ul></section></body></document>