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

SEC-1022: Remove use of static methods/initializers in Acl Permissions. Converted PermissionFactory to a strategy which is used to convert integers and names to Permission instances.

This commit is contained in:
Luke Taylor
2009-09-16 12:45:53 +00:00
parent 731402e9f5
commit 3f70d79df5
9 changed files with 119 additions and 117 deletions
@@ -10,7 +10,9 @@ import org.springframework.context.MessageSourceAware;
import org.springframework.context.support.MessageSourceAccessor;
import org.springframework.dao.DataAccessException;
import org.springframework.security.acls.domain.BasePermission;
import org.springframework.security.acls.domain.DefaultPermissionFactory;
import org.springframework.security.acls.domain.ObjectIdentityImpl;
import org.springframework.security.acls.domain.PermissionFactory;
import org.springframework.security.acls.domain.PrincipalSid;
import org.springframework.security.acls.model.Acl;
import org.springframework.security.acls.model.AclService;
@@ -45,6 +47,7 @@ public final class AdminPermissionController implements MessageSourceAware{
private ContactManager contactManager;
private MessageSourceAccessor messages;
private Validator addPermissionValidator = new AddPermissionValidator();
private PermissionFactory permissionFactory = new DefaultPermissionFactory();
/**
* Displays the permission admin page for a particular contact.
@@ -99,7 +102,7 @@ public final class AdminPermissionController implements MessageSourceAware{
}
PrincipalSid sid = new PrincipalSid(addPermission.getRecipient());
Permission permission = BasePermission.buildFromMask(addPermission.getPermission().intValue());
Permission permission = permissionFactory.buildFromMask(addPermission.getPermission());
try {
contactManager.addPermission(addPermission.getContact(), sid, permission);
@@ -127,7 +130,7 @@ public final class AdminPermissionController implements MessageSourceAware{
Contact contact = contactManager.getById(new Long(contactId));
Sid sidObject = new PrincipalSid(sid);
Permission permission = BasePermission.buildFromMask(mask);
Permission permission = permissionFactory.buildFromMask(mask);
contactManager.deletePermission(contact, sidObject, permission);