Package org.apache.ignite.plugin.security

## Interface SecuritySubject

- All Superinterfaces:
    `Serializable`

      public interface SecuritySubject
      extends Serializable

  Security subject representing authenticated node with a set of permissions.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InetSocketAddress` | `address()` | Gets subject connection address.
    `default Certificate[]` | `certificates()` | Gets subject client certificates, or `null` if SSL were not used or client certificate checking not enabled.
    `UUID` | `id()` | Gets subject ID.
    `Object` | `login()` | Login provided via subject security credentials.
    `default PermissionCollection` | `sandboxPermissions()` | Deprecated. `SecuritySubject` must contain only immutable set of information that represents a security principal.
    `SecuritySubjectType` | `type()` | Gets subject type for node.

- - ### Method Detail

    - #### id

          UUID id()

      Gets subject ID.
      Returns:
        Subject ID.

    - #### type

          SecuritySubjectType type()

      Gets subject type for node.
      Returns:
        Subject type.

    - #### login

          Object login()

      Login provided via subject security credentials.
      Returns:
        Login object.

    - #### address

          InetSocketAddress address()

      Gets subject connection address. Usually `InetSocketAddress` representing connection IP and port.
      Returns:
        Subject connection address.

    - #### certificates

          default Certificate[] certificates()

      Gets subject client certificates, or `null` if SSL were not used or client certificate checking not enabled.
      Returns:
        Subject client certificates.

    - #### sandboxPermissions

          @Deprecated
          default PermissionCollection sandboxPermissions()

      Deprecated.
      `SecuritySubject` must contain only immutable set of information that represents a security principal. Security permissions are part of authorization process and have nothing to do with `SecuritySubject`. This method will be removed in the future releases.
      Returns:
        Permissions for SecurityManager checks.