Interface ISecurityPermissionsProvider

All Superinterfaces:
AutoCloseable, Closeable

public interface ISecurityPermissionsProvider extends Closeable
A provider of security permissions for use instead of or as well as the mechanism that the security schema provides.

If you implement ISecurityDimensionValuesProvider to provide dimension values dynamically, then you need to implement a security permissions provider to determine the permissions that are associated with those values.

When you configure a security permissions provider, i2 Analyze calls its `getSecurityPermissions()` method every time a user performs an action that requires a security calculation.

Since:
13.2
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Performs teardown or finalization on resources that the provider required.
    getSecurityPermissions(String principalName, Collection<String> userGroups, Collection<IDimension> accessSecurityDimensions)
    Gets the permissions that the specified user, who is a member of the specified user groups, should receive for each of the values in the specified security dimensions.
    default void
    Performs any configuration or initialization that the provider requires.
  • Method Details

    • getSecurityPermissions

      List<IPermission> getSecurityPermissions(String principalName, Collection<String> userGroups, Collection<IDimension> accessSecurityDimensions)
      Gets the permissions that the specified user, who is a member of the specified user groups, should receive for each of the values in the specified security dimensions.

      i2 Analyze combines the permissions that this method returns with the permissions that the user receives according to any definitions in the security schema.

      Parameters:
      principalName - The principal name of the user.
      userGroups - The names of the user groups that the user belongs to.
      accessSecurityDimensions - The security dimensions and dimension values to evaluate.
      Returns:
      See above. The list of permissions can be empty if the user receives no access for any of the specified dimension values.
    • onStartup

      default void onStartup()
      Performs any configuration or initialization that the provider requires.

      The server calls this method during startup to give the provider the opportunity to make itself ready to run. Implementing this method is optional; by default it does nothing.

    • close

      default void close()
      Performs teardown or finalization on resources that the provider required.

      The server calls this method during shutdown to give the provider the opportunity to release any resources that it used. Implementing this method is optional; by default it does nothing.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable