Crate authzen

source ·

Re-exports

Modules

Macros

  • Generate a custom action which can be queried for authorization and performed on a storage backend.

Structs

  • The unit of work in an authorization query, which will either be accepted or rejected by a decision maker.

Enums

  • Represents the possible sources of error when performing an action which requires authorization.

Traits

  • Compile time information about an action.
  • Connects an object with its backend representation for a specific backend.
  • Wraps all components of an action requiring authorization which can be expected to be carried around in an application context.
  • Represents a policy decision point (could be astracted over an in-process memory, a remote api, etc.) which is capable of making authorization decisions using the provided Event.
  • Compile time information about an object.
  • Encapsulates the actual performance of a specific action given a suitable client and input.
  • Represents a unique backend on which actions are performed. An example would be postgres, mysql, or your own custom implementation of an API.
  • A client for communicating with a storage backend. Typically this should be implemented for connection or client implementations for that backend, e.g. diesel_async::AsyncPgConnection.
  • An object’s representation specific to a particular backend. Often this will only be implemented once unless an object is stored in multipled different backends.

Derive Macros