Skip to main content

Django middleware for enabling anonymous permissions

Project description

Overview

freeperms provides a simple and generic way to expose an application’s permissions to anonymous users. Take a wiki app or an issue tracker for example. In one deployment it might be appropriate to require a user login to edit pages or submit tickets for bugs, but in another deployment you might want to allow anonymous editing.

Applications that take advantage of the django.contrib.auth permissions framework (outside of django.contrib.admin) can be used with freeperms so that they don’t directly need to handle delegating features to anonymous users.

Usage

Add the middleware to your settings, at the end:

MIDDLEWARE_CLASSES = (
    'freeperms.middleware.AnonymousPermissionsMiddleware'
)

Then expose the permissions you want to grant to anonymous users:

ANONYMOUS_PERMISSIONS = (
    'wiki.add_page',
    'wiki.change_page',
    'wiki.delete_page',
    'tickets.add_ticket',
    'tickets.change_ticket',
)

You can also register or unregister permissions from anywhere in your Python code:

>>> import freeperms
>>> freeperms.register('wiki.add_page')
>>> freeperms.unregister('wiki.add_page')

Settings

ANONYMOUS_USERNAME

The username to use for anonymous users.

ANONYMOUS_PERMISSIONS

A sequence of permissions in the form ‘app_label.code_name’.

Changelog

0.1

  • Initial release.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

django-freeperms-0.1.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file django-freeperms-0.1.tar.gz.

File metadata

File hashes

Hashes for django-freeperms-0.1.tar.gz
Algorithm Hash digest
SHA256 1cbb96ed45749c25d02d5c7a308462bfaaa76e21f174c658de77a44e96e76a41
MD5 5a68c3c14a8c5f2eb3451f3f7c3d3d80
BLAKE2b-256 bdba6fac4d0e7f3c947a4d66222ab5ab2684ebe6bd1e521b454ceb917d331b5a

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