问题标签 [django-guardian]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3663 浏览

django - 具有由 django-guardian 分配的权限的对象在管理员中不可见

我正在使用django-guardian来管理每个对象的权限。

对于给定的用户,我授予对一个对象的所有权限:

正如预期的那样,我得到:

在 admin.py 我也让 TaskAdmin 继承自GuardedModelAdmin而不是admin.ModelAdmin

现在,当我使用 joe 连接到我的网站时,在管理员上我得到:

我不应该能够编辑对象 mytask 吗?

我是否必须使用内置的基于模型的权限系统设置一些权限?

我错过了什么吗?

编辑

我试图添加选项user_can_access_owned_objects_only,它应该可以解决我的问题,但我仍然在我的管理员中看不到任何东西......

谢谢

0 投票
1 回答
1016 浏览

django - 如何在 Django Guardian 中为用户定义默认权限?

当我在 Django 中创建用户时,他没有权限:

我希望默认设置一些权限(例如,'api.add_item'),并且我使用Django Guardian。这是否可以以声明的方式进行,例如。不写 post_save 信号?

0 投票
1 回答
852 浏览

django - 在 Django 上自定义已安装的应用程序

在我的服务器中,我安装了很多应用程序,例如 facebook_connect、userena、guardian 等等...

例如,我意识到如果我自定义:

django-userena/userena/模板/userena/emails/activation_email_message.txt

对于指定的网站,并且我在同一台服务器中有超过 4 个,我会在我的 django_site 中弄得一团糟。

我的问题是:

如何在不完全改变原有 django_site 的情况下自定义一些已安装应用程序中的模板或模型?

提前致谢,

0 投票
1 回答
626 浏览

django - “添加或编辑”上的 permission_required_or_403 装饰器?

我有一个典型的 django 视图设置,用于添加新的或编辑当前的“书”模型(通过表单)。这是性质的:

我现在想在上面添加一个装饰器,以限制对创建这本书的用户进行编辑。使用 django-guardian 我有以下装饰器来包装上面的代码:

这在编辑已经创建的书籍的情况下可以正常工作,即如果用户不是创建者,则会抛出 403。但是,在添加新书时 bookid 是空的并且会使装饰器代码崩溃。有没有处理这种情况的好方法(不分离编辑和添加功能)?

谢谢,格里

0 投票
2 回答
2946 浏览

python - Django:当它们已经被覆盖时不能覆盖管理模板?

要将一些内容添加到模型的 Django 管理视图中,我想覆盖change_form.html模板。根据文档,我需要在change_form.html文件夹中创建一个文件/project-path/templates/admin/appname/modelname/。当然,我需要确保这条路径在TEMPLATE_DIRS. 这样的文件可能如下所示:

但是,我使用django-guardian来获得对象权限。这个 Django 应用程序也覆盖change_form.html(工作正常——相关源似乎在这里),但 Django 没有选择我的模板扩展文件(即上面示例中的“某些内容”没有显示)。我要覆盖的块/部分与 django-guardian 覆盖的块/部分不同,最终我希望添加change_form.htmldjango-guardion我的模板。

我在这里做错了什么?是否有可能让多个应用程序覆盖一个管理模板?

如果感兴趣,这是我的TEMPLATE_LOADERS设置:

此外,django-guardian 是INSTALLED_APPS数组中的最后一个应用程序。

0 投票
1 回答
230 浏览

django - 更好地使用第 3 方行级权限应用程序或过滤 Django 视图中的查询结果?

我正在编写一个涉及创建文档的 Django 应用程序。我有几个要求:

  1. 检查用户是否能够查看任何文档。
  2. 如果允许用户查看文档,则只允许他们查看他们有权查看的文档。

我提出了两种解决方案,想知道一种在哲学/实践上是否比另一种更好。

我提出的两个解决方案是:

解决方案一(使用第三方 Django-Guardian)

Models.py

views.py

我看到的第一个解决方案的缺点是每次创建对象时都必须显式设置权限,而且我必须两次访问数据库:一次检查权限,再次检索文档对象。

解决方案二(使用内置的Django权限)

Models.py

views.py

我看到解决方案一的缺点是我必须进行两项检查,一项是查看他们是否能够查看文档,另一项是查看他们是否可以查看特定文档。这样做的好处是,如果我有一个管理员希望能够查看所有文档,我不需要明确授予每个文档的权限;我可以给他“查看文档”的权限。

似乎这两种解决方案都有其优点和缺点。有没有理论/实践更好的?

0 投票
0 回答
153 浏览

django - django-guardian get_objects_for_group

将行级权限集成到所有模型中的最佳方法是什么,以便列出会导致简单的 JOIN?

我希望有一个像这样的快捷方式来返回我一个查询集

这个调用产生的不仅仅是查询

0 投票
4 回答
2017 浏览

django-permissions - 如何在 django Guardian 中获取对象具有特定权限的所有用户?

但是关于

谢谢。

0 投票
2 回答
2467 浏览

python - 限制仅访问拥有的内容 django

我正在使用django-tastypie编写 API 。我有两个自定义权限问题,希望django-guardian可以解决。

我有两个用户组临床医生和患者。临床医生应该能够访问仅属于他们的患者的对象,而患者应该只能访问他们自己创建的对象。

我的代码如下:

我如何使用权限来限制对此的访问BlogPostResource

0 投票
1 回答
1107 浏览

django - 使用 django-guardian 进行基于角色的访问

我使用 django-guardian 提供基于角色的权限,使用 django-userena 进行用户分析。我有三种用户管理员,子管理员,员工。管理员可以添加子管理员,子管理员可以添加员工。我为三种用户类型创建了三个监护人组。当用户注册时,我为该用户分配了一个员工组。

我想使用 Django Admin 并赋予 Admin 和 sub-admin 更改用户组的能力。

如何使用 AdminModel 在管理面板中添加下拉菜单或单选按钮,以便更改用户组。或者有没有更好的方法来做到这一点。