【问题标题】:Django 1.2 object level permissions - third party solutions?Django 1.2 对象级权限 - 第三方解决方案?
【发布时间】:2011-02-18 19:16:33
【问题描述】:

由于 Django 1.2 final 快出来了,我很好奇是否已经有项目使用新的对象级权限/行级权限系统。 Django-authority,这是 Django 到 1.1 的可能解决方案,暂时没有更新,并且(还)不使用新的权限系统。在我看来,Django-Authority 处于昏迷状态。

有人知道即将到来的甚至可能已经完成的解决方案吗?我非常感谢任何指向活动项目的良好链接,其中至少包含一些可下载的内容。

【问题讨论】:

标签: python django permissions


【解决方案1】:

首先,信息的主要来源是djangopackages.com's perms grid:“在你的Django项目中实现用户和组权限的所有包的网格”。 (注意有些包的命名非常相似,例如,“s”或破折号是唯一的区别)

然后,查看每个包的功能(仅考虑稍微积极维护的子集),这些是主要候选者:

  • django-guardian:“将每个对象的权限实现为授权后端,自 Django 1.2 起支持。” pypirepodocs

  • django-permissions:“Django 的通用每个对象权限”。 “django-permissions 为 Django 角色提供每个对象的权限”。 pypioriginal repomost updated forkdocs

  • django-authority:“为 Django 的身份验证应用程序提供通用的每个对象权限。” “用于每个对象权限的 Django 应用程序,其中包括一组帮助程序来创建自定义权限检查。” pypioriginal repomost updated forkdocs

还有其他一些原因或其他原因没有晋级:

PS:这个答案是根据开源包的现状写的,问这个问题2年多了。虽然不是很彻底,但我希望这项工作能帮助那些与我有同样情况的人。

【讨论】:

    【解决方案2】:

    我在一个项目中使用https://github.com/lukaszb/django-guardian,当时它还在 0.2 版中,它相当完整且没有错误。

    是的,我确实必须编写自己的“check_permission”视图装饰器,因为当时它还没有包含在内 - 但至少从 1.0 版开始它就在那里。

    作者也非常迅速地回应了我从 0.2 迁移的问题 - 总的来说,我对它很满意,因此将它作为我项目框架模板的一部分。

    【讨论】:

      【解决方案3】:

      OSU 开源实验室实现了对象级权限here

      【讨论】:

        【解决方案4】:

        最后,我发现了非常好的东西:Florian Apolloner 在 djangoadvent 上写了一个 howto:http://djangoadvent.com/1.2/object-permissions/ 现在这就是我要使用的:)

        一些有用的东西也可能是:http://github.com/washingtontimes/django-objectpermissions(截至 2011 年 7 月 18 日链接失效)

        【讨论】:

        • 我阅读了 Florian 的帖子,虽然内容丰富,但似乎不支持组权限。例如,如果一个组被授予一个对象的权限(这在 Florian 的示例中是否支持?),该组中的用户是否有权访问该对象?
        • 对于我的项目,我不需要组权限。无论如何,您必须自己实现它。但也许已经有其他 django 应用程序存在 - 我有几个月没有检查了。
        【解决方案5】:

        我发布了一个名为 django-rules 的 Django 应用程序,它可以让您以灵活、动态和可扩展的方式管理每个对象的权限。你可能想检查一下。

        【讨论】:

          【解决方案6】:

          我不久前尝试在一个网站上使用django-granular-permissions,但无法让它完成我需要的工作(这可能是我自己无法理解我需要做什么而不是应用程序)。查看 google 代码站点的更新选项卡,自去年夏季/秋季以来似乎没有对其进行任何工作,因此它可能是另一只死鸭子。

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-09-20
          • 1970-01-01
          • 2013-05-03
          • 1970-01-01
          • 1970-01-01
          • 2011-04-27
          相关资源
          最近更新 更多