From c922021d286b90c4d8829e7c559f43c061b4e5ba Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Tue, 17 Nov 2009 13:13:54 +0000 Subject: [PATCH] SEC-1287: Regression with fix SEC-1022 - cannot register custom permissions w/BasicLookupStrategy. Added setter method for PermissionFactory field. --- .../security/acls/jdbc/BasicLookupStrategy.java | 10 ++++++++++ .../security/acls/jdbc/BasicLookupStrategyTests.java | 2 ++ 2 files changed, 12 insertions(+) diff --git a/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java b/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java index 1a505f8c45..5633f057e3 100644 --- a/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java +++ b/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java @@ -421,6 +421,16 @@ public final class BasicLookupStrategy implements LookupStrategy { return resultMap; } + /** + * Sets the {@code PermissionFactory} instance which will be used to convert loaded permission + * data values to {@code Permission}s. A {@code DefaultPermissionFactory} will be used by default. + * + * @param permissionFactory + */ + public void setPermissionFactory(PermissionFactory permissionFactory) { + this.permissionFactory = permissionFactory; + } + public void setBatchSize(int batchSize) { this.batchSize = batchSize; } diff --git a/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyTests.java b/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyTests.java index 2cb78c73b1..dfe97aace4 100644 --- a/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyTests.java +++ b/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyTests.java @@ -22,6 +22,7 @@ import org.springframework.security.acls.domain.AclAuthorizationStrategy; import org.springframework.security.acls.domain.AclAuthorizationStrategyImpl; import org.springframework.security.acls.domain.BasePermission; import org.springframework.security.acls.domain.ConsoleAuditLogger; +import org.springframework.security.acls.domain.DefaultPermissionFactory; import org.springframework.security.acls.domain.EhCacheBasedAclCache; import org.springframework.security.acls.domain.ObjectIdentityImpl; import org.springframework.security.acls.domain.PrincipalSid; @@ -103,6 +104,7 @@ public class BasicLookupStrategyTests { new GrantedAuthorityImpl("ROLE_ADMINISTRATOR"), new GrantedAuthorityImpl("ROLE_ADMINISTRATOR"), new GrantedAuthorityImpl("ROLE_ADMINISTRATOR") }); strategy = new BasicLookupStrategy(dataSource, cache, authorizationStrategy, new ConsoleAuditLogger()); + strategy.setPermissionFactory(new DefaultPermissionFactory()); } @After