|
|
|
@ -21,6 +21,7 @@ import net.sf.acegisecurity.GrantedAuthority; |
|
|
|
import net.sf.acegisecurity.GrantedAuthorityImpl; |
|
|
|
import net.sf.acegisecurity.GrantedAuthorityImpl; |
|
|
|
import net.sf.acegisecurity.acl.AclEntry; |
|
|
|
import net.sf.acegisecurity.acl.AclEntry; |
|
|
|
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken; |
|
|
|
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken; |
|
|
|
|
|
|
|
import net.sf.acegisecurity.providers.dao.User; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
@ -53,6 +54,11 @@ public class GrantedAuthorityEffectiveAclsResolverTests extends TestCase { |
|
|
|
private SimpleAclEntry entry100Marissa = new SimpleAclEntry(marissa |
|
|
|
private SimpleAclEntry entry100Marissa = new SimpleAclEntry(marissa |
|
|
|
.getPrincipal(), new NamedEntityObjectIdentity("OBJECT", "100"), |
|
|
|
.getPrincipal(), new NamedEntityObjectIdentity("OBJECT", "100"), |
|
|
|
null, 2); |
|
|
|
null, 2); |
|
|
|
|
|
|
|
private UsernamePasswordAuthenticationToken scottWithUserDetails = new UsernamePasswordAuthenticationToken(new User( |
|
|
|
|
|
|
|
"scott", "NOT_USED", true, |
|
|
|
|
|
|
|
new GrantedAuthority[] {new GrantedAuthorityImpl( |
|
|
|
|
|
|
|
"ROLE_EVERYBODY")}), "not used", |
|
|
|
|
|
|
|
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_EVERYBODY"), new GrantedAuthorityImpl("ROLE_TWO")}); |
|
|
|
|
|
|
|
|
|
|
|
// convenience group
|
|
|
|
// convenience group
|
|
|
|
private SimpleAclEntry[] acls = {entry100Marissa, entry100Scott, entry100RoleEverybody, entry100RoleOne, entry100RoleTwo}; |
|
|
|
private SimpleAclEntry[] acls = {entry100Marissa, entry100Scott, entry100RoleEverybody, entry100RoleOne, entry100RoleTwo}; |
|
|
|
@ -93,7 +99,7 @@ public class GrantedAuthorityEffectiveAclsResolverTests extends TestCase { |
|
|
|
resolver.resolveEffectiveAcls(acls, marissa)[2]); |
|
|
|
resolver.resolveEffectiveAcls(acls, marissa)[2]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testResolveAclsForScott() { |
|
|
|
public void testResolveAclsForScottWithStringObjectAsPrincipal() { |
|
|
|
GrantedAuthorityEffectiveAclsResolver resolver = new GrantedAuthorityEffectiveAclsResolver(); |
|
|
|
GrantedAuthorityEffectiveAclsResolver resolver = new GrantedAuthorityEffectiveAclsResolver(); |
|
|
|
assertEquals(3, resolver.resolveEffectiveAcls(acls, scott).length); |
|
|
|
assertEquals(3, resolver.resolveEffectiveAcls(acls, scott).length); |
|
|
|
assertEquals(entry100Scott, |
|
|
|
assertEquals(entry100Scott, |
|
|
|
@ -104,6 +110,18 @@ public class GrantedAuthorityEffectiveAclsResolverTests extends TestCase { |
|
|
|
resolver.resolveEffectiveAcls(acls, scott)[2]); |
|
|
|
resolver.resolveEffectiveAcls(acls, scott)[2]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void testResolveAclsForScottWithUserDetailsObjectAsPrincipal() { |
|
|
|
|
|
|
|
GrantedAuthorityEffectiveAclsResolver resolver = new GrantedAuthorityEffectiveAclsResolver(); |
|
|
|
|
|
|
|
assertEquals(3, |
|
|
|
|
|
|
|
resolver.resolveEffectiveAcls(acls, scottWithUserDetails).length); |
|
|
|
|
|
|
|
assertEquals(entry100Scott, |
|
|
|
|
|
|
|
resolver.resolveEffectiveAcls(acls, scottWithUserDetails)[0]); |
|
|
|
|
|
|
|
assertEquals(entry100RoleEverybody, |
|
|
|
|
|
|
|
resolver.resolveEffectiveAcls(acls, scottWithUserDetails)[1]); |
|
|
|
|
|
|
|
assertEquals(entry100RoleTwo, |
|
|
|
|
|
|
|
resolver.resolveEffectiveAcls(acls, scottWithUserDetails)[2]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void testResolveAclsReturnsNullIfNoAclsInFirstPlace() { |
|
|
|
public void testResolveAclsReturnsNullIfNoAclsInFirstPlace() { |
|
|
|
GrantedAuthorityEffectiveAclsResolver resolver = new GrantedAuthorityEffectiveAclsResolver(); |
|
|
|
GrantedAuthorityEffectiveAclsResolver resolver = new GrantedAuthorityEffectiveAclsResolver(); |
|
|
|
assertNull(resolver.resolveEffectiveAcls(null, scott)); |
|
|
|
assertNull(resolver.resolveEffectiveAcls(null, scott)); |
|
|
|
|