Interface IrisGroupProvider

All Known Implementing Classes:
AbstractIrisGroupProvider, CachingGroupProvider, IrisGroupProviderControllerImpl, IrisGroupProviderDbAclImpl, IrisGroupProviderFilesImpl, IrisUserContext

public interface IrisGroupProvider
  • Field Details

    • IRIS_SUPERUSERS

      static final String IRIS_SUPERUSERS
    • IRIS_ACLEDITORS

      static final String IRIS_ACLEDITORS
    • IRIS_QUERYMANAGERS

      static final String IRIS_QUERYMANAGERS
    • IRIS_SCHEMAMANAGERS

      static final String IRIS_SCHEMAMANAGERS
    • IRIS_DATAMANAGERS

      static final String IRIS_DATAMANAGERS
    • FULL_ACCESS_GROUP

      static final String FULL_ACCESS_GROUP
    • QUERY_VIEW_ONLY_GROUP

      static final String QUERY_VIEW_ONLY_GROUP
    • NON_INTERACTIVE_GROUP

      static final String NON_INTERACTIVE_GROUP
    • GROUP_ALLUSERS

      static final String GROUP_ALLUSERS
      See Also:
  • Method Details

    • isSuperUser

      boolean isSuperUser(UserContext userContext)
    • isQueryManager

      boolean isQueryManager(UserContext userContext)
    • isAclEditor

      boolean isAclEditor(UserContext userContext)
    • isSchemaManager

      boolean isSchemaManager(UserContext userContext)
    • isMember

      boolean isMember(UserContext userContext, String owner, String[] groups)
    • getGroupsForUser

      String[] getGroupsForUser(UserContext userContext)
    • getUsersForGroup

      String[] getUsersForGroup(String group)
    • getAllGroups

      String[] getAllGroups()
    • getAllUsers

      String[] getAllUsers()
    • getRunAsUserMap

      default Map<String,String> getRunAsUserMap()
    • getRunAsUser

      default String getRunAsUser(UserContext userContext)
    • getUserType

      IrisGroupProvider.UserType getUserType(UserContext userContext)
    • make

      static IrisGroupProvider make(com.fishlib.io.logger.Logger log, DbAclProvider provider) throws IOException
      Throws:
      IOException
    • make

      static IrisGroupProvider make(com.fishlib.io.logger.Logger log, DbAclProvider provider, @Nullable @Nullable io.deephaven.shadow.jetcd.io.etcd.jetcd.Client etcdClient) throws IOException
      Throws:
      IOException
    • make

      static IrisGroupProvider make(com.fishlib.io.logger.Logger log) throws IOException
      Throws:
      IOException
    • getUserTypeBase

      static IrisGroupProvider.UserType getUserTypeBase(UserContext userContext, IrisGroupProvider irisGroupProvider)
    • isVisibleToUser

      default boolean isVisibleToUser(@NotNull @NotNull UserContext userContext, String thingOwner, @Nullable @Nullable String[] thingAdminGroups, @Nullable @Nullable String[] thingViewerGroups)
      Determines if the given user context has visibility to a PQ with the given attributes.
      Parameters:
      userContext - the user context
      thingOwner - the owner of the PQ on which where we want to ascertain visibility
      thingAdminGroups - the admin groups of the PQ on which where we want to ascertain visibility
      thingViewerGroups - the viewer groups of the PQ on which where we want to ascertain visibility
      Returns:
      true if userContext has visibility, false otherwise