2323 */
2424package org .wise .portal .spring .impl ;
2525
26- import java .util .Properties ;
27-
2826import javax .sql .DataSource ;
2927
3028import org .springframework .beans .factory .annotation .Autowired ;
31- import org .springframework .cache .ehcache .EhCacheFactoryBean ;
32- import org .springframework .cache .ehcache .EhCacheManagerFactoryBean ;
29+ import org .springframework .cache .CacheManager ;
3330import org .springframework .context .annotation .Bean ;
3431import org .springframework .context .annotation .Configuration ;
3532import org .springframework .core .env .Environment ;
3633import org .springframework .security .acls .domain .AclAuthorizationStrategy ;
3734import org .springframework .security .acls .domain .AclAuthorizationStrategyImpl ;
3835import org .springframework .security .acls .domain .ConsoleAuditLogger ;
3936import org .springframework .security .acls .domain .DefaultPermissionGrantingStrategy ;
40- import org .springframework .security .acls .domain .EhCacheBasedAclCache ;
37+ import org .springframework .security .acls .domain .SpringCacheBasedAclCache ;
4138import org .springframework .security .acls .jdbc .BasicLookupStrategy ;
4239import org .springframework .security .acls .jdbc .JdbcMutableAclService ;
4340import org .springframework .security .acls .jdbc .LookupStrategy ;
41+ import org .springframework .security .acls .model .AclCache ;
4442import org .springframework .security .acls .model .MutableAclService ;
4543import org .springframework .security .acls .model .PermissionGrantingStrategy ;
4644import org .wise .portal .domain .authentication .MutableAclSid ;
@@ -60,22 +58,13 @@ public class ACLContext {
6058 @ Autowired
6159 Environment appProperties ;
6260
63- @ Bean
64- public EhCacheBasedAclCache aclCache () {
65- return new EhCacheBasedAclCache (aclEhCacheFactoryBean ().getObject (), permissionGrantingStrategy (), aclAuthorizationStrategy ());
66- }
67-
68- @ Bean
69- public EhCacheFactoryBean aclEhCacheFactoryBean () {
70- EhCacheFactoryBean ehCacheFactoryBean = new EhCacheFactoryBean ();
71- ehCacheFactoryBean .setCacheManager (aclCacheManager ().getObject ());
72- ehCacheFactoryBean .setCacheName ("aclCache" );
73- return ehCacheFactoryBean ;
74- }
61+ @ Autowired
62+ CacheManager cacheManager ;
7563
7664 @ Bean
77- public EhCacheManagerFactoryBean aclCacheManager () {
78- return new EhCacheManagerFactoryBean ();
65+ public AclCache aclCache () {
66+ return new SpringCacheBasedAclCache (cacheManager .getCache ("aclCache" ),
67+ permissionGrantingStrategy (), aclAuthorizationStrategy ());
7968 }
8069
8170 @ Bean
@@ -90,14 +79,17 @@ public AclAuthorizationStrategy aclAuthorizationStrategy() {
9079
9180 @ Bean
9281 public LookupStrategy lookupStrategy () {
93- return new BasicLookupStrategy (dataSource , aclCache (), aclAuthorizationStrategy (), new ConsoleAuditLogger ());
82+ return new BasicLookupStrategy (dataSource , aclCache (), aclAuthorizationStrategy (),
83+ new ConsoleAuditLogger ());
9484 }
9585
9686 @ Bean
9787 public MutableAclService aclservice () {
98- JdbcMutableAclService aclService = new JdbcMutableAclService (dataSource , lookupStrategy (), aclCache ());
88+ JdbcMutableAclService aclService = new JdbcMutableAclService (dataSource , lookupStrategy (),
89+ aclCache ());
9990 if (appProperties .containsProperty ("spring.datasource.driver-class-name" )) {
100- String driverClass = (String ) appProperties .getProperty ("spring.datasource.driver-class-name" );
91+ String driverClass = (String ) appProperties
92+ .getProperty ("spring.datasource.driver-class-name" );
10193 if ("com.mysql.cj.jdbc.Driver" .equals (driverClass )) {
10294 aclService .setClassIdentityQuery ("SELECT @@IDENTITY" );
10395 aclService .setSidIdentityQuery ("SELECT @@IDENTITY" );
0 commit comments