Interface RepositorySecurityProvider

All Superinterfaces:
IRepositoryService
All Known Implementing Classes:
KettleDatabaseRepositorySecurityProvider, KettleFileRepositorySecurityProvider

public interface RepositorySecurityProvider extends IRepositoryService
This is the interface to the security provider for the repositories out there.

This allows the repository to transparently implement any kind of authentication supported by Kettle.

Author:
matt
  • Field Details

  • Method Details

    • getUserInfo

      IUser getUserInfo()
      Returns:
      the user information set on the security provider
    • validateAction

      void validateAction(RepositoryOperation... operations) throws org.pentaho.di.core.exception.KettleException, org.pentaho.di.core.exception.KettleSecurityException
      Validates the supplied operation.
      Throws:
      org.pentaho.di.core.exception.KettleSecurityException - in case the provided user is not know or the password is incorrect
      org.pentaho.di.core.exception.KettleException - in case the action couldn't be validated because of an unexpected problem.
    • isReadOnly

      boolean isReadOnly()
      Returns:
      true if the repository or the user is read only
    • isLockingPossible

      boolean isLockingPossible()
      Returns:
      true if this repository supports file locking and if the user is allowed to lock a file
    • allowsVersionComments

      boolean allowsVersionComments(String fullPath)
      Returns:
      true if the repository supports revisions AND if it is possible to give version comments
    • isVersionCommentMandatory

      boolean isVersionCommentMandatory()
      Returns:
      true if version comments are mandatory if allowed.
    • getAllUsers

      List<String> getAllUsers() throws org.pentaho.di.core.exception.KettleException
      Retrieves all users in the system
      Returns:
      list of username
      Throws:
      org.pentaho.di.core.exception.KettleSecurityException - in case anything went wrong
      org.pentaho.di.core.exception.KettleException
    • getAllRoles

      List<String> getAllRoles() throws org.pentaho.di.core.exception.KettleException
      Retrieves all roles in the system
      Returns:
      list of role
      Throws:
      org.pentaho.di.core.exception.KettleSecurityException - in case anything went wrong
      org.pentaho.di.core.exception.KettleException
    • getUserLogins

      String[] getUserLogins() throws org.pentaho.di.core.exception.KettleException
      Throws:
      org.pentaho.di.core.exception.KettleException
    • isVersioningEnabled

      boolean isVersioningEnabled(String fullPath)
      Determines whether versioning should be enabled in the UI for the given fully qualified file/path. If set to false, the repository may still support versioning, but the versioning will not be apparent in the UI.
      Returns:
      true if version are enabled, false if they if are not