Package org.apache.storm.security.auth

## Interface IAuthorizer

- All Known Implementing Classes:
    `DenyAuthorizer`, `DRPCAuthorizerBase`, `DRPCSimpleACLAuthorizer`, `ImpersonationAuthorizer`, `NoopAuthorizer`, `SimpleACLAuthorizer`, `SimpleWhitelistAuthorizer`, `SupervisorSimpleACLAuthorizer`

      public interface IAuthorizer

  Nimbus could be configured with an authorization plugin. If not specified, all requests are authorized.

  You could specify the authorization plugin via storm parameter. For example:

  ``` storm -c nimbus.authorization.class=org.apache.storm.security.auth.NoopAuthorizer ... ```

  You could also specify it via storm.yaml:

  ```yaml nimbus.authorization.class: org.apache.storm.security.auth.NoopAuthorizer ```

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `permit​(ReqContext context, String operation, Map<String,​Object> topoConf)` | permit() method is invoked for each incoming Thrift request.
    `void` | `prepare​(Map<String,​Object> conf)` | Invoked once immediately after construction.

- - ### Method Detail

    - #### prepare

          void prepare​(Map<String,​Object> conf)

      Invoked once immediately after construction.
      Parameters:
        `conf` - Storm cluster configuration

    - #### permit

          boolean permit​(ReqContext context,
                         String operation,
                         Map<String,​Object> topoConf)

      permit() method is invoked for each incoming Thrift request.
      Parameters:
        `context` - request context includes info about
        `operation` - operation name
        `topoConf` - configuration of targeted topology
      Returns:
        true if the request is authorized, false if reject