Skip to main content

一个 Django 应用程序,为 Django 的身份验证应用程序提供通用的每个对象权限。

项目描述

爵士乐队 https://travis-ci.org/jazzband/django-authority.svg?branch=master https://codecov.io/gh/jazzband/django-authority/branch/master/graph/badge.svg

这是一个用于每个对象权限的 Django 应用程序,其中包括一堆帮助程序来创建自定义权限检查。

django-authority 的主要网站是 django-authority.readthedocs.org。您还可以 使用 pip install django-authority==deveasy_install django-authority==dev安装 django-authority的开发版本

例子

要运行示例项目,请执行以下操作:

  • 通过在 virtualenv 中运行来引导环境:

    pip install Django
    pip install -e .
  • 同步数据库:

    python example/manage.py migrate
  • 运行开发服务器并访问http://127.0.0.1:8000/admin/的管理员:

    python example/manage.py runserver

现在创建一个平面并打开它以查看一些正在运行的模板标签。不要犹豫,使用管理员来编辑权限对象。

请使用https://github.com/jazzband/django-authority/issues/获取问题和错误报告。

文档

该文档目前正在开发中。您可以使用 setup.py 创建一个漂亮的 html 版本:

python setup.py build_sphinx

变更日志:

0.14 (2020-02-07):

  • 添加 Django 2.2 支持

  • 添加 Python 3.7 支持

  • 围绕测试工具的各种修复。

  • 使用 Django 自己的自动加载权限模块的方法。

  • 修复 Django 管理员关于多年前删除的方法的不兼容性。

  • 删除了未使用的兼容性代码。

  • 修复 BasePermission.assign 以获得组权限。

0.13.1 (2018-01-28):

  • 对文档和版本控制的小修正。

0.13 (2018-01-28):

  • 添加了对 Django 1.11 的支持

  • 放弃对 Python 3.3 的支持

  • 修复了模板加载器的错误

0.12 (2017-01-10):

  • 添加了对 Django 1.10 的支持

0.11 (2016-07-17):

  • 添加了迁移以支持 Django 1.8

  • 放弃对 Django 1.7 及更低版本的支持

  • 删除 SQL 迁移文件

  • 文档更新

  • 修复 linter 问题

0.10 (2015-12-14):

  • 修复了 BasePermissionForm 和 django 1.8 的错误

0.9 (2015-11-11):

  • 添加了对 Django 1.7 和 1.8 的支持

  • 放弃对 Django 1.3 的支持

0.8 (2013-12-20):

  • 添加了对 Django 1.6 的支持

0.7 (2013-07-03):

  • 不再做依赖子查询。在一般情况下,执行两个小查询而不是一个具有依赖子查询的查询会更快。

0.6 (2013-06-13):

  • 添加了对自定义用户模型的支持(仅限 Django 1.5)。

0.5 (2013-03-18):

  • 现在可以通过缓存 Permission 查询的结果来最小化使用 django-authority 时的查询数量。这可以通过将AUTHORITY_USE_SMART_CACHE = True添加到您的 settings.py 来完成

  • 确认支持(通过 travis ci)对 Python 2.6、Python2.7 和 Django 1.3、Django 1.4、Django 1.5 的所有组合。添加了对 Django 1.5 的 Python 3.3 支持

0.4 (2010-01-15):

  • 修复了 UserPermissionForm 无法覆盖用户字段小部件的问题。

  • 添加了在add_permission视图中覆盖表单类的功能。

  • 添加了通过权限实例分配权限的简单方法,例如:

    from django.contrib.auth.models import User
    from mysite.articles.permissions import ArticlePermission
    
    bob = User.objects.get(username='bob')
    article_permission = ArticlePermission(bob)
    article_permission.assign(content_object=article)

0.3 (2009-07-28):

  • 此版本向 Permission 模型添加了多个字段,因此是向后不兼容的更新。

    这是添加允许用户请求、撤回、拒绝和批准权限的功能所必需的。现在保存了请求和批准日期,以及批准的属性。已添加管理员操作以进行批量审批。

    要迁移现有数据,您可以使用源 ( migrations/ ) 中包含的 SQL 文件,目前可用于 MySQL、Postgres 和 SQLite。

  • 模板标签也进行了重构,以便更容易定制需要更改模板标签签名:

    老的:

    {% permission_form flatpage %}
    {% permission_form flatpage "flatpage_permission.top_secret" %}
    {% permission_form OBJ PERMISSION_LABEL.CHECK_NAME %}

    新的:

    {% permission_form for flatpage %}
    {% permission_form for flatpage using "flatpage_permission.top_secret" %}
    {% permission_form for OBJ using PERMISSION_LABEL.CHECK_NAME [with TEMPLATE] %}

    新模板标签:

    • permission_request_form

    • get_permission_request

    • get_permission_requests

    • permission_request_approve_link

    • permission_request_delete_link

    • request_url_for_obj

  • add_permission视图现在可以通过 GET 请求访问并允许请求权限,但也可以添加它们(仅适用于具有 'authority.add_permission' Django 权限的用户)

下载文件

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

源分布

django-authority-0.14.tar.gz (152.8 kB 查看哈希)

已上传 source

内置分布

django_authority-0.14-py2.py3-none-any.whl (32.6 kB 查看哈希)

已上传 py2 py3