Skip to content

Commit 7c05193

Browse files
Remove dependency on EhCache and use Spring's AclCache instead.
1 parent 344d47e commit 7c05193

2 files changed

Lines changed: 14 additions & 26 deletions

File tree

pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,6 @@
428428
<artifactId>mysql-connector-java</artifactId>
429429
<version>8.0.30</version>
430430
</dependency>
431-
<dependency>
432-
<groupId>net.sf.ehcache</groupId>
433-
<artifactId>ehcache</artifactId>
434-
</dependency>
435431
<dependency>
436432
<groupId>com.zaxxer</groupId>
437433
<artifactId>HikariCP</artifactId>

src/main/java/org/wise/portal/spring/impl/ACLContext.java

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,22 @@
2323
*/
2424
package org.wise.portal.spring.impl;
2525

26-
import java.util.Properties;
27-
2826
import javax.sql.DataSource;
2927

3028
import 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;
3330
import org.springframework.context.annotation.Bean;
3431
import org.springframework.context.annotation.Configuration;
3532
import org.springframework.core.env.Environment;
3633
import org.springframework.security.acls.domain.AclAuthorizationStrategy;
3734
import org.springframework.security.acls.domain.AclAuthorizationStrategyImpl;
3835
import org.springframework.security.acls.domain.ConsoleAuditLogger;
3936
import org.springframework.security.acls.domain.DefaultPermissionGrantingStrategy;
40-
import org.springframework.security.acls.domain.EhCacheBasedAclCache;
37+
import org.springframework.security.acls.domain.SpringCacheBasedAclCache;
4138
import org.springframework.security.acls.jdbc.BasicLookupStrategy;
4239
import org.springframework.security.acls.jdbc.JdbcMutableAclService;
4340
import org.springframework.security.acls.jdbc.LookupStrategy;
41+
import org.springframework.security.acls.model.AclCache;
4442
import org.springframework.security.acls.model.MutableAclService;
4543
import org.springframework.security.acls.model.PermissionGrantingStrategy;
4644
import 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

Comments
 (0)