跳转到主要内容

添加对象级别或行级别权限的方法

项目描述

这是对象权限的一个实现,也称为行级别权限。对象权限允许您将权限分配给django项目中任何Model的实例。此应用程序提供了一个与Django >= 1.2兼容的认证后端。

此特定实现包括将权限分配给用户和用户组的Ability。以后的版本可能包括创建权限组和对象权限组的能力。

安装

安装对象权限有几种方法。

对象权限提供了一个标准的distutils setup.py。从setup.py安装的经典调用可能是

$ python setup.py install

您可能需要添加sudo才能将对象权限安装到系统Python。

$ sudo python setup.py install

我们还在PyPI上有对象权限,因此可以使用pip安装它。(easy_install也适用,但我们不建议使用easy_install。只需使用pip即可。)

$ pip install django-object-permissions

如果您正在将对象权限直接安装到Django应用程序中,并希望与您的应用程序一起分发对象权限,只需将object_permissions文件夹复制到您的Django项目中。

配置您的Django项目

  1. 将“object_permissions”添加到INSTALLED_APPS

  2. 将“object_permissions.backend.ObjectPermBackend”添加到AUTHENTICATION_BACKENDS。

  3. 运行./manage.py syncdb

如果您的项目启用了South,您需要使用migrate创建表

3b) 运行./manage.py migrate

使用对象权限

首先,在您的models.py中的Model上注册一些权限。这只能在每个模型上做一次;有关更多信息,请参阅registration.py。

>>> from object_permissions import register
>>> register(['permission'], Model)

现在,可以对该Model的任何实例授予、撤销或检查该权限。

>>> user.grant('permission', object)
>>> user.revoke('permission', object)
>>> user.has_perm('permission', object)
>>> group.grant('permission', object)
>>> group.revoke('permission', object)

作者

对象权限最初由Peter Krenesky在俄勒冈州立大学开源实验室(OSUOSL)实现。此版本由Ken Lett维护。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源代码分发

django-object-permissions-1.4.6.tar.gz (84.4 kB 查看哈希值)

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面