|
@@ -110,36 +110,17 @@
|
|
release. These are:</para>
|
|
release. These are:</para>
|
|
|
|
|
|
<itemizedlist spacing="compact">
|
|
<itemizedlist spacing="compact">
|
|
- <listitem>
|
|
|
|
- <para>Replacing the Ant build with a Maven build. When this
|
|
|
|
- happens the <literal>lib</literal> directory will no longer be
|
|
|
|
- distributed in ZIP releases or hosted in CVS.</para>
|
|
|
|
- </listitem>
|
|
|
|
-
|
|
|
|
<listitem>
|
|
<listitem>
|
|
<para>"Remember me" functionality. Some discussion on this can be
|
|
<para>"Remember me" functionality. Some discussion on this can be
|
|
found at
|
|
found at
|
|
<literal>http://sourceforge.net/mailarchive/forum.php?thread_id=5177499&forum_id=40659</literal>.</para>
|
|
<literal>http://sourceforge.net/mailarchive/forum.php?thread_id=5177499&forum_id=40659</literal>.</para>
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
- <listitem>
|
|
|
|
- <para>A sample web application which demonstrates the access
|
|
|
|
- control list package.</para>
|
|
|
|
- </listitem>
|
|
|
|
-
|
|
|
|
<listitem>
|
|
<listitem>
|
|
<para>Implementation of an
|
|
<para>Implementation of an
|
|
<literal>ObjectDefinitionSource</literal> that retrieves its
|
|
<literal>ObjectDefinitionSource</literal> that retrieves its
|
|
details from a database.</para>
|
|
details from a database.</para>
|
|
</listitem>
|
|
</listitem>
|
|
-
|
|
|
|
- <listitem>
|
|
|
|
- <para>Deprecation of Acegi Security's various EH-CACHE-based cache
|
|
|
|
- implementations. Instead Acegi Security will provide new cache
|
|
|
|
- implementations which use Spring Framework's new (currently in
|
|
|
|
- CVS) <literal>EhCacheManagerFactoryBean</literal> factory. The
|
|
|
|
- deprecated classes may be removed from the 1.0.0 release.</para>
|
|
|
|
- </listitem>
|
|
|
|
</itemizedlist>
|
|
</itemizedlist>
|
|
|
|
|
|
<para>Whilst this list is subject to change and not in any particular
|
|
<para>Whilst this list is subject to change and not in any particular
|
|
@@ -982,7 +963,7 @@ public aspect DomainObjectInstanceSecurityAspect implements InitializingBean {
|
|
authorities that have been granted to the principal. The principal and
|
|
authorities that have been granted to the principal. The principal and
|
|
its credentials are populated by the client code, whilst the granted
|
|
its credentials are populated by the client code, whilst the granted
|
|
authorities are populated by the
|
|
authorities are populated by the
|
|
- <literal>AuthenticationManager</literal>. </para>
|
|
|
|
|
|
+ <literal>AuthenticationManager</literal>.</para>
|
|
|
|
|
|
<para><mediaobject>
|
|
<para><mediaobject>
|
|
<imageobject role="html">
|
|
<imageobject role="html">
|
|
@@ -1232,10 +1213,30 @@ public aspect DomainObjectInstanceSecurityAspect implements InitializingBean {
|
|
<property name="userCache"><ref bean="userCache"/></property>
|
|
<property name="userCache"><ref bean="userCache"/></property>
|
|
</bean>
|
|
</bean>
|
|
|
|
|
|
|
|
+<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
|
|
|
|
+
|
|
|
|
+<bean id="userCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
|
|
|
|
+ <property name="cacheManager">
|
|
|
|
+ <ref local="cacheManager"/>
|
|
|
|
+ </property>
|
|
|
|
+ <property name="cacheName">
|
|
|
|
+ <value>userCache</value>
|
|
|
|
+ </property>
|
|
|
|
+</bean>
|
|
|
|
+
|
|
<bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
|
|
<bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
|
|
- <property name="minutesToIdle"><value>5</value></property>
|
|
|
|
|
|
+ <property name="cache"><ref local="userCacheBackend"/></property>
|
|
</bean></programlisting></para>
|
|
</bean></programlisting></para>
|
|
|
|
|
|
|
|
+ <para>All Acegi Security EH-CACHE implementations (including
|
|
|
|
+ <literal>EhCacheBasedUserCache</literal>) require an EH-CACHE
|
|
|
|
+ <literal>Cache</literal> object. The <literal>Cache</literal> object
|
|
|
|
+ can be obtained from wherever you like, although we recommend you use
|
|
|
|
+ Spring's factory classes as shown in the above configuration. If using
|
|
|
|
+ Spring's factory classes, please refer to the Spring documentation for
|
|
|
|
+ further details on how to optimise the cache storage location, memory
|
|
|
|
+ usage, eviction policies, timeouts etc.</para>
|
|
|
|
+
|
|
<para>For a class to be able to provide the
|
|
<para>For a class to be able to provide the
|
|
<literal>DaoAuthenticationProvider</literal> with access to an
|
|
<literal>DaoAuthenticationProvider</literal> with access to an
|
|
authentication repository, it must implement the
|
|
authentication repository, it must implement the
|
|
@@ -3415,8 +3416,19 @@ $CATALINA_HOME/bin/startup.sh</programlisting></para>
|
|
<!-- <property name="trustStore"><value>/some/path/to/your/lib/security/cacerts</value></property> -->
|
|
<!-- <property name="trustStore"><value>/some/path/to/your/lib/security/cacerts</value></property> -->
|
|
</bean>
|
|
</bean>
|
|
|
|
|
|
|
|
+<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
|
|
|
|
+
|
|
|
|
+<bean id="ticketCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
|
|
|
|
+ <property name="cacheManager">
|
|
|
|
+ <ref local="cacheManager"/>
|
|
|
|
+ </property>
|
|
|
|
+ <property name="cacheName">
|
|
|
|
+ <value>ticketCache</value>
|
|
|
|
+ </property>
|
|
|
|
+</bean>
|
|
|
|
+
|
|
<bean id="statelessTicketCache" class="net.sf.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache">
|
|
<bean id="statelessTicketCache" class="net.sf.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache">
|
|
- <property name="minutesToIdle"><value>20</value></property>
|
|
|
|
|
|
+ <property name="cache"><ref local="ticketCacheBackend"/></property>
|
|
</bean>
|
|
</bean>
|
|
|
|
|
|
<bean id="casAuthoritiesPopulator" class="net.sf.acegisecurity.providers.cas.populator.DaoCasAuthoritiesPopulator">
|
|
<bean id="casAuthoritiesPopulator" class="net.sf.acegisecurity.providers.cas.populator.DaoCasAuthoritiesPopulator">
|
|
@@ -3785,7 +3797,7 @@ $CATALINA_HOME/bin/startup.sh</programlisting></para>
|
|
<para>The <literal>net.sf.acegisecurity.acl</literal> package is very
|
|
<para>The <literal>net.sf.acegisecurity.acl</literal> package is very
|
|
simple, comprising only a handful of interfaces and a single class, as
|
|
simple, comprising only a handful of interfaces and a single class, as
|
|
shown in Figure 5. It provides the basic foundation for access control
|
|
shown in Figure 5. It provides the basic foundation for access control
|
|
- list (ACL) lookups. </para>
|
|
|
|
|
|
+ list (ACL) lookups.</para>
|
|
|
|
|
|
<para><mediaobject>
|
|
<para><mediaobject>
|
|
<imageobject role="html">
|
|
<imageobject role="html">
|
|
@@ -3847,7 +3859,7 @@ public AclEntry[] getAcls(java.lang.Object domainInstance, Authentication authen
|
|
<title>Integer Masked ACLs</title>
|
|
<title>Integer Masked ACLs</title>
|
|
|
|
|
|
<para>Acegi Security System for Spring includes a production-quality
|
|
<para>Acegi Security System for Spring includes a production-quality
|
|
- ACL provider implementation, which is shown in Figure 6. </para>
|
|
|
|
|
|
+ ACL provider implementation, which is shown in Figure 6.</para>
|
|
|
|
|
|
<para><mediaobject>
|
|
<para><mediaobject>
|
|
<imageobject role="html">
|
|
<imageobject role="html">
|