【发布时间】:2017-06-12 12:41:25
【问题描述】:
我们正在使用 Django 1.11 和 Django Rest Framework 并尝试实现一些高级权限系统。
目前,我们遇到了一些技术问题,其中之一是:针对每个请求返回当前登录用户的链接权限(通过 request.user)。
示例:端点http://localhost:8000/articles/1/ 应向用户返回有关该文章和链接权限的信息。 像这样的:
{'title': 'Article Title', 'pages': 50, 'permissions': ['can_read_article', 'can_update_article'] ...}
这些权限应该在 Django Admin > Users & Groups 系统中进行管理。
非常感谢,任何帮助将不胜感激
【问题讨论】:
-
您是否已经拥有将权限链接到每个实体的东西,例如 ForeignKey?
-
一切都由 Django Admin 应用程序管理:用户链接到具有权限的组。
-
啊,所以您不是在获取与当前正在服务的实体相关的权限,而是针对用户自己?这似乎很奇怪,对文章的请求应该获取该文章的详细信息,而不是关于请求用户的无关信息。
-
一般的想法是返回文章的详细信息,包括请求用户拥有的权限。因此,具有内容编辑角色的用户应该会在文章的概述页面上看到“更新”按钮链接。
标签: django permissions django-rest-framework