django中的基本对象级权限(1.2+)
django-bop的Python项目详细描述
django bop为django 1.2和 稍后。它基于Django Adventarticle“对象权限” 弗洛里安·阿波罗。
虽然有一些other权限后端,但我希望 与现有Django紧密匹配的简单(R)后端 功能。
功能
Django Bop提供了几种机制来管理和检查 对象权限:
- bop.admin.objectadmin
- bop.forms.inline_permissions_form_factory
- api.grant和api.revoke
- bop.backends.objectbackend
- ifhasperm templateTag
- bop.managers.userobjectmanager
- bop.managers.objectPermissionManager
还有兴趣:
- 有_model_烫发
安装
在(虚拟)环境中安装:
$ pip install django-bop
如果您还没有安装south:
$ pip install South
将“bop”(和south)添加到您在settings.py中安装的应用程序中:
INSTALLED_APPS = ( ... 'south', 'bop', )
在settings.py中指定身份验证后端:
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'bop.backends.ObjectBackend', )
如果您(可选)要授予匿名用户权限,请 应执行以下操作:
将用户添加到contrib.auth.models.user以表示匿名用户 (例如,通过管理员)。给它一个合适的名字(anon/ 匿名)这样在分配权限时很容易识别。
将匿名用户id添加到settings.py:
ANONYMOUS_USER_ID = 2
如果,除此之外,你还可以选择支持 为匿名用户建模权限,可以添加 匿名模型后端:
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'bop.backends.AnonymousModelBackend', 'bop.backends.ObjectBackend', )
完成所有配置后,更新数据库:
$ ./manage.py migrate bop