com.hazelcast.security

## Interface IPermissionPolicy

-     public interface IPermissionPolicy

  IPermissionPolicy is used to determine any `Subject`'s permissions to perform a security sensitive Hazelcast operation.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `configure(Config config, Properties properties)` Configures `IPermissionPolicy`.
    `void` | `destroy()` Destroys `IPermissionPolicy`.
    `PermissionCollection` | `getPermissions(Subject subject, Class<? extends Permission> type)` Determines permissions of subject.
    `void` | `refreshPermissions(Set<PermissionConfig> permissionConfigs)` Replaces existing permissions with given set of permissions.

- - ### Method Detail

    - #### configure

          void configure(Config config,
                         Properties properties)

      Configures `IPermissionPolicy`.
      Parameters:
        `config` - Hazelcast `Config`
        `properties` -

    - #### getPermissions

          PermissionCollection getPermissions(Subject subject,
                                              Class<? extends Permission> type)

      Determines permissions of subject.
      Parameters:
        `subject` - the `Subject`
        `type` - of permissions in PermissionCollection
      Returns:
        PermissionCollection containing subject's permissions

    - #### refreshPermissions

          void refreshPermissions(Set<PermissionConfig> permissionConfigs)

      Replaces existing permissions with given set of permissions. Implementation must take into account that `refreshPermissions` may be executed concurrently with `getPermissions`.
      Parameters:
        `permissionConfigs` - the new set of permissions to apply

    - #### destroy

          void destroy()

      Destroys `IPermissionPolicy`.

Copyright © 2019. All rights reserved.