微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django guardian 对象级别权限设计

官方文档:https://django-guardian.readthedocs.io/en/stable/userguide/index.html

django 目前权限两种:

 1.表级别,也是model,认的表级别,add,delete,change

 2.对象级别,也是field

虽加入了guardian,设计思路还是user,group,role,类似于linux的3 2 1

安装配置django-guardian:

pip install django-guardian

在INSTALLED_APPS变量中加入guardian:

INSTALLED_APPS = (
    'guardian',)

添加一个backend到AUTHENTICATION_BACKENDS中,这样django才会具有对对象的权限控制:

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend', # django认的backend
    'guardian.backends.ObjectPermissionBackend',)

在guardian中,还支持匿名用户AnoymousUser的Object级别的权限控制,这种需求很常见,比方说允许匿名发言的论坛或者blog系统。要做到这一点需要在settings中加入:

ANONYMOUS_USER_ID=-1

接下来我们执行python manage syncdb.执行完毕之后,系统将会创建一个User实例,叫做AnonymouseUser。

完成了以上几点,guardian就被安装好了,可以开始使用了。

设置和使用对象权限:


参考文章

https://www.cnblogs.com/esperyong/archive/2012/12/20/2825909.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐