Skip to content
skreem edited this page Feb 9, 2017 · 2 revisions

Welcome to the scram wiki!

Scram is a flexible authorization system which is based on a hierarchy representing abilities to perform actions.

  • Holder: This is a module representing anything which can hold Policies. We leave a group system (or having individual users contain policies) up to the user of Scram.
  • Policy: A policy groups together many PermissionNodes
  • PermissionNode: Represents any action. The name itself could be the action if the node has no Targets
  • Target: Defines what a PermissionNode can be applied to. If just the collection attribute is set, the PermissionNode embedding the Target can apply any action to any instance of that model. States defined in the attribute match_states can fine tune what the node can do.
Clone this wiki locally