问题标签 [django-permissions]

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 投票
1 回答
1099 浏览

django - django - 比较 django 权限和使用 django 规则

目前我正在寻找在 Django 中实现访问控制。我已经阅读了有关内置权限的信息,但它并不关心每个对象。例如,我想要“只有创建者可以删除他自己的项目”之类的权限。所以我读到了 django-guardian。话又说回来,在考虑之后,可能很难管理和检查约束是否发生变化。

我看看下一个流行的权限管理应用程序,叫做 django-rules。这似乎符合我的要求。但是,我相信 django-rules 需要涉及模型实例(因此是对象级别),即如果我需要像“成员区域”这样的简单视图,它不会执行此功能。

这让我开始考虑在后一种情况下使用 contrib 的许可,在前一种情况下使用 django-rules。我的问题是,管理这两个权限框架有多容易?例如,我有不同的用户组。我担心管理员在管理系统中添加特定权限(以允许访问视图)的重叠场景,认为这应该就足够了,但结果却受到规则设置的约束的限制。

我相信这是一个常见的案例,我根据您的经验虚心寻求您的意见和建议。

0 投票
2 回答
972 浏览

django - 如何使用 django auth 权限限制对 grappelli 文件浏览器的访问?

我需要使用权限限制用户对文件浏览器的访问。例如,只有具有“can_upload_files”权限的用户才能在我的自定义仪表板中看到 Filebrowser。

这可能吗?

谢谢!

0 投票
1 回答
3959 浏览

django - 在 django 的单元测试期间无法更改用户权限

我终于决定对我的应用程序进行一些测试,但我坚持测试用户是否可以更改另一个用户(取决于用户的类型——我使用 django-rules 能够进行逻辑权限检查,但这并不重要)

这是我到目前为止的代码

即使添加了权限,我的用户仍然没有权限。这是因为我不允许在测试期间创建任何东西(这是一种不好的做法吗?)?还是 django 以某种方式缓存权限?如果我在 setUp 添加权限,它可以工作,但我想在同一个测试期间更改它(在有和没有权限的情况下进行测试)。

提前致谢!

0 投票
1 回答
2122 浏览

django - 将用户权限添加到 Django 用户对象时出现无效的文字错误

我在我的 Django 应用程序中定义了一个模型foo,如下所示:

我已经运行manage.py syncdb了这个,果然,它显示在auth_permissions表格中:

但是,当我尝试将该权限添加到视图中的用户对象时,如下所示:

代码因以下异常而爆炸:

这是怎么回事?

0 投票
2 回答
5448 浏览

django - 将对象级别权限添加到通用视图

情况很简单:我正在编写一个多用户博客系统。系统应防止非所有者编辑或删除博客文章。在我看来,我使用通用视图。

类博客更新视图(更新视图):...

我知道我应该使用@method_decorator 来装饰调度方法。但是,大多数示例只是 @method_decorator(login_required) 或模型级别权限。如何应用对象级别的权限来检查 request.user 是否是这篇博文的作者?例如,我尝试使用 django-authority 应用程序,我在这个文件中有一个 BlogPermission 类。我试图在这个类中定义一个方法,例如

def blog_edit(self, ??, ??)

我应该在这个方法中加入什么?

然后像这样调用它: @method_decorator(permission_required('blog_permission.blog_edit(???)'))

我应该在这里传递什么?

更新:阅读method_decorator代码后,我发现它只能接受没有参数的函数。我认为这就是为什么 permission_required 在这里不起作用。但是解决这个问题的方法是什么?

更新解决方案:

在 dispatch 方法中,我检查用户权限,如果用户不满足权限,则返回 HttpResponseForbidden()。

0 投票
2 回答
1919 浏览

django - django-guardian 示例源代码

谁能推荐一个使用 django-guardian 的优秀开源应用程序?我在理解 API 时没有遇到问题,但我很想看一个例子来了解实现最佳实践(数据库设计等)

0 投票
2 回答
11010 浏览

django - django-object-permissions Vs django-guardian Vs django-authority

我为 Django 1.2+ 找到了 3 个行级权限解决方案

有人可以告诉是否有比其他人更多的推荐,他们的主要区别是什么等?

0 投票
2 回答
3102 浏览

django - Django 组和权限。扩展组以拥有 FK?

我正在开发一种产品,该产品允许不同的学校在线管理他们的内容。

其中一部分涉及设置我自己编写的基于角色的访问控制逻辑。本质上,每所学校都有自己的一组角色,这些角色拥有自己的一组权限。该软件的用户在任何给定时间都可能属于具有不同角色的多所学校。

由于各种原因,我想放弃这个,而是使用 Django 的组和权限以及像django-guardian这样的库。我面临的问题是我应该如何扩展 Groups 模型,以便我可以为每个新学校包含一个外键,并且仍然能够使用 Django 中的辅助方法以及 django-guardian 等库。

我想出的一种可能的方法是简单地根据事件名称创建组,例如“学校 1 - 管理员”、“学校 1 - 教师”、“学校 2 - 管理员”、“学校 2 - 教师”,并根据这个代替。我不应该这样做有充分的理由吗?

0 投票
1 回答
6343 浏览

django - Django admin - 允许用户访问特定对象/字段?

我需要为管理员创建一个“所有者”登录。假设我们有这个模型结构:

我们有一个名为的组Owners,其中一些用户是其中的一部分。这ProductPhoto是管理页面TabularInline上的一个。Product

现在,所有者需要获得编辑权限

  1. (主要目标) 只有产品product__in=user.products(所以基本上,只有他们拥有的产品)。

  2. (次要目标) 只有产品的描述照片

我将如何使用 Django 的管理/权限系统来做到这一点?

0 投票
1 回答
546 浏览

django - Django,当我们有不同的角色时使用/设计一个行级权限系统

我正在开发一个学习管理系统。

该系统有几个演员,如学生、导师、管理员、院长等。现在,我需要一个可以处理不同角色的权限系统(学生可以将课程添加到他们的购物篮,导师可以 CRUD 课程,管理员也可以访问财务部分以及等等)

根据我的研究,我需要一些可以处理不同角色的行级权限系统。我见过一些类似的应用程序django-guardian djang-permissions django-rulez,等等。但仍然对如何基于它们设计角色感到困惑(它们没有很好的文档记录)。

任何人都可以给我一个提示来完成这项痛苦的工作吗?