Class AuthorizationManagerImpl

  • All Implemented Interfaces:
    AuthorizationManager, io.vertigo.core.node.component.Component, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Manager

    public final class AuthorizationManagerImpl
    extends Object
    implements AuthorizationManager
    Main authorizations manager implementation.
    Author:
    npiedeloup
    • Constructor Detail

      • AuthorizationManagerImpl

        @Inject
        public AuthorizationManagerImpl​(VSecurityManager securityManager)
        Constructor.
        Parameters:
        securityManager - Security manager
    • Method Detail

      • hasAuthorization

        public boolean hasAuthorization​(AuthorizationName... permissionNames)
        Check on authorizations. Say if current user has this authorization.
        Specified by:
        hasAuthorization in interface AuthorizationManager
        Parameters:
        permissionNames - authorization. (not null)
        Returns:
        if user has this authorization.
      • isAuthorized

        public <E extends io.vertigo.datamodel.structure.model.Entity> boolean isAuthorized​(E entity,
                                                                                            OperationName<E> operationName)
        Check if current user can do this operation on this entity.
        Specified by:
        isAuthorized in interface AuthorizationManager
        Type Parameters:
        E - entity type
        Parameters:
        entity - secured data to check
        operationName - operation name
        Returns:
        true if current user can do this operation on this entity.
      • getCriteriaSecurity

        public <E extends io.vertigo.datamodel.structure.model.Entity> io.vertigo.datamodel.criteria.Criteria<E> getCriteriaSecurity​(Class<E> entityClass,
                                                                                                                                     OperationName<E> operation)
        Return Criteria of security rules for this current user on this entityClass.
        Specified by:
        getCriteriaSecurity in interface AuthorizationManager
        Type Parameters:
        E - entity type
        Parameters:
        entityClass - secured data to check
        operation - operation name
        Returns:
        Criteria of security rule for this current user on this entity
      • getSearchSecurity

        public <E extends io.vertigo.datamodel.structure.model.Entity> String getSearchSecurity​(Class<E> entityClass,
                                                                                                OperationName<E> operationName)
        Return Search query filter of security rules for this current user on this dtObjectClass.
        Specified by:
        getSearchSecurity in interface AuthorizationManager
        Parameters:
        entityClass - secured data to check
        operationName - operation name
        Returns:
        Search query filter of security rules for this current user on this entity.
      • getAuthorizedOperations

        public <E extends io.vertigo.datamodel.structure.model.Entity> Set<String> getAuthorizedOperations​(E entity)
        Get all operation doable on this object by current user. This can be use by UI to show or not some features.
        Specified by:
        getAuthorizedOperations in interface AuthorizationManager
        Type Parameters:
        E - entity type
        Parameters:
        entity - secured data to check
        Returns:
        operations list
      • findSecuredEntity

        public static SecuredEntity findSecuredEntity​(io.vertigo.datamodel.structure.definitions.DtDefinition dtDefinition)
        Finds the SecuredEntity from a type of 'dtDefinition'
        Parameters:
        dtDefinition - the 'dtDefinition'
        Returns:
        SecuredEntity