由于Django 1.2 final几乎已经出局,我很好奇是否已有项目使用新的对象级权限/行级权限系统。 Django-authority,这是一个可能的解决方案,Django高达1.1,有一段时间没有更新,并且(还)没有使用新的权限系统。在我看来,Django-Authority处于昏迷状态。
有人知道即将推出的甚至是完成的解决方案吗?我非常感谢与活动项目的任何良好链接,至少有一些可下载的内容。
答案 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以来支持授权后端的每个对象权限的实现。” pypi,repo,docs。
django-permissions :“Django的通用每对象权限”。 “django-permissions为角色提供Django的每个对象权限”。 pypi,original repo,most updated fork,docs。
django-authority :“为Django的auth应用程序提供通用的每对象权限。”“每个对象权限的Django应用程序包含一堆帮助程序来创建自定义权限检查“。 pypi,original repo,most updated fork,docs。
还有其他人因某种原因或其他原因没有成功:
PS:这个答案是根据当前的开源软件包状态编写的,问题提出后2年多。虽然不太彻底,但我希望这项工作能够帮助那些处于同样情况的人。