io.vertx.ext.auth.authorization

## Interface Authorization

- All Known Subinterfaces:
    AndAuthorization, NotAuthorization, OrAuthorization, PermissionBasedAuthorization, RoleBasedAuthorization, WildcardPermissionBasedAuthorization

      public interface Authorization

  Interface representing any kind of authorization such as:
  - Role based authorization
  - Permission based authorization
  - Logical authorization (AND, OR, NOT)
  - Time based authorization (ie: allow access the last 5 days of the month, from 8am till 10am, etc.)
  - Context based authorization (ie: allow access if the ip address is 'xxx.xxx.xxx.xxx')
  - Custom based authorization (ie: based on a script or hard-coded code specific to an application)
  - etc.
  The following implementations are provided out of the box:
  - `AndAuthorization`
  - `NotAuthorization`
  - `OrAuthorization`
  - `PermissionBasedAuthorization`
  - `RoleBasedAuthorization`
  - `WildcardPermissionBasedAuthorization`
  Author:
    Stephane Bastian

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `match(AuthorizationContext context)` this methods verifies whether or not the authorization match the specified context.
    `default boolean` | `match(User user)` this methods verifies whether or not the authorization match the specified user.
    `boolean` | `verify(Authorization authorization)` this method verifies whether or not the authorization implies the specified authorization.

- - ### Method Detail

    - #### match

          boolean match(AuthorizationContext context)

      this methods verifies whether or not the authorization match the specified context.
      Parameters:
        `context` - the context.
      Returns:
        true if there's a match.

    - #### match

          default boolean match(User user)

      this methods verifies whether or not the authorization match the specified user. Internally a basic context is created with the user and the method delegates to `match(AuthorizationContext)`
      Parameters:
        `user` - the user.
      Returns:
        true if there's a match

    - #### verify

          boolean verify(Authorization authorization)

      this method verifies whether or not the authorization implies the specified authorization. Note that it doesn't always mean an exact match. For instance, in the case of a `WildcardPermissionBasedAuthorization`, this method may return true even if the permissions are different WildcardPermissionBasedAuthorization.create('*').verify(WildcardPermissionBasedAuthorization.create('anypermission')) would return true
      Parameters:
        `authorization` - the authorization.
      Returns:
        true if implies the argument.

Copyright © 2020 Eclipse. All rights reserved.