Django 1.2对象级权限 - 第三方解决方案?

时间:2010-05-12 19:14:05

标签: python django permissions

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

有人知道即将推出的甚至是完成的解决方案吗?我非常感谢与活动项目的任何良好链接,至少有一些可下载的内容。

6 个答案:

答案 0 :(得分:9)

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

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

作者也非常迅速地回答了我从0.2迁移过来的一个问题 - 整体而言我很满意它,因此成为我项目框架模板的一部分。

答案 1 :(得分:7)

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

有用的东西可能也是:http://github.com/washingtontimes/django-objectpermissions(链接死于2011-07-18)

答案 2 :(得分:5)

我发布了一个名为django-rules的Django-app,它允许您以灵活,动态和可扩展的方式管理每个对象的权限。你可能想看一下。

答案 3 :(得分:1)

我之前尝试过将django-granular-permissions用于某个网站,但无法让它做我需要的事情(这可能是我自己无法理解我需要做什么而不是应用程序)。看看谷歌代码网站的更新标签,它看起来自去年夏天/秋天以来没有做过任何工作,所以它可能是另一个死鸭。

答案 4 :(得分:1)

OSU开源实验室具有对象级权限here

的实现

答案 5 :(得分: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的auth应用程序提供通用的每对象权限。”“每个对象权限的Django应用程序包含一堆帮助程序来创建自定义权限检查“。 pypioriginal repomost updated forkdocs

还有其他人因某种原因或其他原因没有成功:

PS:这个答案是根据当前的开源软件包状态编写的,问题提出后2年多。虽然不太彻底,但我希望这项工作能够帮助那些处于同样情况的人。