Class AuthorizationManagerImpl

java.lang.Object
io.vertigo.account.impl.authorization.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 Details

    • AuthorizationManagerImpl

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

    • obtainUserAuthorizations

      public UserAuthorizations obtainUserAuthorizations()
      User authorization accessor to test or add authorizations. A UserSession must exists.
      Specified by:
      obtainUserAuthorizations in interface AuthorizationManager
      Returns:
      UserAuthorizations
    • 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.data.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.data.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.data.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
      Type Parameters:
      E - entity type
      Parameters:
      entityClass - secured data to check
      operationName - operation name
      Returns:
      Search query filter of security rules for this current user on this entity.
    • getPriorAuthorizations

      public Set<String> getPriorAuthorizations()
      Description copied from interface: AuthorizationManager
      Get all prior authorizations of current user. This can be use by UI to show or not some features.
      Specified by:
      getPriorAuthorizations in interface AuthorizationManager
      Returns:
      authorizations set
    • getAuthorizedOperations

      public <E extends io.vertigo.datamodel.data.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.data.definitions.DataDefinition dataDefinition)
      Finds the SecuredEntity from a type of 'dataDefinition'
      Parameters:
      dataDefinition - the 'dataDefinition'
      Returns:
      SecuredEntity