permission Package

permission Package

django-permission

backends Module

Logical permission backends module

class permission.backends.PermissionBackend[source]

Bases: object

A handler based permission backend

Methods

authenticate(username, password)[source]

Always return None to prevent authentication within this backend.

has_perm(user_obj, perm, obj=None)[source]

Check if user have permission (of object) based on registered handlers.

It will raise ObjectDoesNotExist exception when the specified string permission does not exist and PERMISSION_CHECK_PERMISSION_PRESENCE is True in settings module.

Parameters:

user_obj : django user model instance

A django user model instance which be checked

perm : string

app_label.codename formatted permission string

obj : None or django model instance

None or django model instance for object permission

Returns:

boolean :

Wheter the specified user have specified permission (of specified object).

Raises:

django.core.exceptions.ObjectDoesNotExist :

If the specified string permission does not exist and PERMISSION_CHECK_PERMISSION_PRESENCE is True in settings module.

supports_anonymous_user = True
supports_inactive_user = True
supports_object_permissions = True

conf Module

django-permission application configure

handlers Module

class permission.handlers.LogicalPermissionHandler(model)[source]

Bases: permission.handlers.PermissionHandler

Permission handler class which use permission logics to determine the permission

Methods

has_perm(user_obj, perm, obj=None)[source]

Check if user have permission (of object) based on specified models’s _permission_logics attribute.

Parameters:

user_obj : django user model instance

A django user model instance which be checked

perm : string

app_label.codename formatted permission string

obj : None or django model instance

None or django model instance for object permission

Returns:

boolean :

Wheter the specified user have specified permission (of specified object).

class permission.handlers.PermissionHandler(model_or_app_label)[source]

Bases: object

Abstract permission handler class

Methods

excludes[source]
get_permissions(user_obj, perm, obj=None)[source]

Get permissions which this handler can treat. Specified with includes and excludes of this instance.

Parameters:

user_obj : django user model instance

A django user model instance which be checked

perm : string

app_label.codename formatted permission string

obj : None or django model instance

None or django model instance for object permission

Returns:

set :

A set instance of app_label.codename formatted permission strings

has_perm(user_obj, perm, obj=None)[source]

Check if user have permission (of object)

Parameters:

user_obj : django user model instance

A django user model instance which be checked

perm : string

app_label.codename formatted permission string

obj : None or django model instance

None or django model instance for object permission

Returns:

boolean :

Wheter the specified user have specified permission (of specified object).

.. note:: :

Sub class must override this method.

includes[source]

models Module