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:
Author:
Stephane Bastian
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    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.
    default JsonObject
     
    boolean
    verify(Authorization authorization)
    this method verifies whether or not the authorization implies the specified authorization.
  • Method Details

    • 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.
    • toJson

      default JsonObject toJson()