Class 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 Detail

      • AclAdvice

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

      • 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,
                                                     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