Skip to main content

Default ACL implementation for Mara

Project description

Mara ACL

mara-acl PyPI - License PyPI version Slack Status

Default ACL implementation for mara with the following design choices:

  • Authentication of users is handled externally, e.g. through a Oauth2 Proxy. An upstream authentication app manages authentication and then adds a http header identifying the user to each authenticated request.
  • Each user is assigned a single role.
  • Permissions are not based on urls, but on application-defined "resources". Thus, checking of permissions needs to be done in the application.

The ACL provides a single UI for both user and permission management. Users can be added / removed and their roles can be changed like this: User management

New roles are created by moving a user to a new role.

Permissions can be set for

  • an individual user or a whole role,
  • an individual resource, a group of resources or "All" resources.

Individual users inherit permissions from their role, and permissions on higher levels overwrite permissions on lower levels: User management

Each new user that is authenticated is automatically created with a default role in the acl: User management

This behavior can be switched off (so that only invited users can join). See config.py for details.

Please have a look at the mara example application for how to integrate this ACL implementation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mara-acl-2.1.1.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

mara_acl-2.1.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file mara-acl-2.1.1.tar.gz.

File metadata

  • Download URL: mara-acl-2.1.1.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for mara-acl-2.1.1.tar.gz
Algorithm Hash digest
SHA256 2b72753f73e6a972910a3ce6520ce9df47c62ad8af2ff64cbf110e1b3b2ce962
MD5 e3c99db015235f924ad9203608090d75
BLAKE2b-256 4f3d7472e9939e3925d36a24dc6ba84bd0d5014aa1e4d15f4ac75cc2151d0f63

See more details on using hashes here.

File details

Details for the file mara_acl-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: mara_acl-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for mara_acl-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 399d610b40d4caa7c94d9a24b8ea41f777fb7f9b43006a864cd795d41ac70abb
MD5 168b521334476f4c9f1e8fd9a2c50e68
BLAKE2b-256 4589e1d6797286a835cd50e0646d66c33bf98e45c496d5d9c6259030ccf11aa5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page