Class AclSidRetrievalStrategyImpl

java.lang.Object
ubic.gemma.core.security.acl.AclSidRetrievalStrategyImpl
All Implemented Interfaces:
org.springframework.security.acls.model.SidRetrievalStrategy

public class AclSidRetrievalStrategyImpl extends Object implements org.springframework.security.acls.model.SidRetrievalStrategy
Sid retrieval strategy that mirrors Spring Security's stock SidRetrievalStrategyImpl but threads through an injected RoleHierarchy (Spring's stock impl uses a NullRoleHierarchy by default).

Renovations Phase 2: this returns Spring Security's PrincipalSid / GrantedAuthoritySid rather than gsec's AclPrincipalSid / AclGrantedAuthoritySid so the user's sids equate to the ACE sids that BasicLookupStrategy builds when loading ACLs from the canonical schema. Spring's Sid.equals does a type-strict instanceof check and would otherwise reject gsec-typed user sids against Spring-typed ACE sids — making every AclEntryVoter vote AccessDenied.

Version:
$Id: AclSidRetrievalStrategyImpl.java,v 1.1 2013/09/14 16:56:00 paul Exp $
Author:
Paul
See Also:
  • SidRetrievalStrategyImpl
  • Constructor Details

    • AclSidRetrievalStrategyImpl

      public AclSidRetrievalStrategyImpl(org.springframework.security.access.hierarchicalroles.RoleHierarchy roleHierarchy)
  • Method Details

    • getSids

      public List<org.springframework.security.acls.model.Sid> getSids(org.springframework.security.core.Authentication authentication)
      Specified by:
      getSids in interface org.springframework.security.acls.model.SidRetrievalStrategy