java.lang.Object
gemma.gsec.acl.BaseAclAdvice
ubic.gemma.core.security.authorization.acl.AclAdvice

@Component public class AclAdvice extends gemma.gsec.acl.BaseAclAdvice
For permissions modification to be triggered, the method name must match certain patterns, which include "create", or "remove". These patterns are defined in the Pointcuts. Other methods that would require changes to permissions will not work without modifying the source code. *
Author:
Paul
  • Constructor Details

    • AclAdvice

      @Autowired public AclAdvice(gemma.gsec.acl.domain.AclService aclService, SessionFactory sessionFactory, org.springframework.security.acls.model.ObjectIdentityRetrievalStrategy objectIdentityRetrievalStrategy)
  • Method Details

    • canSkipAclCheck

      protected boolean canSkipAclCheck(Object object)
      Overrides:
      canSkipAclCheck in class gemma.gsec.acl.BaseAclAdvice
    • canSkipAssociationCheck

      protected boolean canSkipAssociationCheck(Object object, String propertyName)
      Overrides:
      canSkipAssociationCheck in class gemma.gsec.acl.BaseAclAdvice
    • createOrUpdateAclSpecialCases

      protected void createOrUpdateAclSpecialCases(org.springframework.security.acls.model.MutableAcl acl, @Nullable org.springframework.security.acls.model.Acl parentAcl, org.springframework.security.acls.model.Sid sid, gemma.gsec.model.Securable object)
      Overrides:
      createOrUpdateAclSpecialCases in class gemma.gsec.acl.BaseAclAdvice
    • getUserGroupGrantedAuthority

      protected org.springframework.security.core.GrantedAuthority getUserGroupGrantedAuthority(gemma.gsec.model.Securable object)
      Specified by:
      getUserGroupGrantedAuthority in class gemma.gsec.acl.BaseAclAdvice
    • getUserName

      protected String getUserName(gemma.gsec.model.Securable user)
      Specified by:
      getUserName in class gemma.gsec.acl.BaseAclAdvice
    • objectIsUser

      protected boolean objectIsUser(gemma.gsec.model.Securable object)
      Specified by:
      objectIsUser in class gemma.gsec.acl.BaseAclAdvice
    • objectIsUserGroup

      protected boolean objectIsUserGroup(gemma.gsec.model.Securable object)
      Specified by:
      objectIsUserGroup in class gemma.gsec.acl.BaseAclAdvice
    • specialCaseForAssociationFollow

      protected boolean specialCaseForAssociationFollow(Object object, String property)
      Overrides:
      specialCaseForAssociationFollow in class gemma.gsec.acl.BaseAclAdvice
    • specialCaseToKeepPrivateOnCreation

      protected boolean specialCaseToKeepPrivateOnCreation(gemma.gsec.model.Securable object)
      Overrides:
      specialCaseToKeepPrivateOnCreation in class gemma.gsec.acl.BaseAclAdvice