问题标签 [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 投票
4 回答
1222 浏览

google-cloud-datastore - 如何使组权限在 Django-nonrel for Google App Engine 中工作

我正在尝试为 GAE 的 django-nonrel 获取基于角色的权限。

开箱即用,它似乎不起作用,可能是因为用户和组之间隐含的多对多关系,所以我找到并安装了http://www.fhahn.com/writing/Django-s- Permission-System-with-Django-Nonrel。根据文档,我将 permission_backend_nonrel 添加到 INSTALLED_APPS(在 djangotoolbox 之后),并将 AUTHENTICATION_BACKENDS 定义到 settings.py 中的适当类。

这让我克服了之前的问题(“DatabaseError: This query is not supported by the database.”),但我仍然卡住了,因为当我运行一个非常简单的示例时,当我认为我应该得到一组空权限时得到一些东西。下面是我能做的最简单的例子。它是由 python manage.py shell 在 django 框架中启动的——它是一个简单的小马商店。我正在尝试将用户添加到组,授予该组权限,然后将这些权限反映为用户拥有的权限集的一部分:

所以,问题是:为什么上述方法不起作用,我需要改变什么才能使它起作用?

在此先感谢您的帮助!

0 投票
1 回答
158 浏览

python - 具有共享(非独占)访问权限的数据库上的 Django-guardian

我正在开发一个 Django 应用程序,它是某个 Oracle 数据库的 Web 前端,而另一个本地数据库则保存着应用程序的数据,例如 Guardian 权限。问题是它可以从我无法控制的不同地方进行修改。

假设我们有 3 个模型UserThesisUserThesis

UserThesisThesis- 指定和UserUser共同作者Thesis)之间关系的表格

设想:

  1. User通过其他应用程序删除表中的Thesis条目,将其作为作者删除。UserThesis

  2. User尝试Thesis使用我们的 Django 应用程序进行修改。他成功了,因为 Guardian 和 Django 不知道UserThesis.

我想到了一些解决方案:

  1. 让一些 cron 作业UserThesis通过检查条目的修改日期来查找更改。易于检查添加,删除将需要再次查看所有关系。

  2. 修改 Oracle DB 模式以添加 Guardian DB 表并在UserThesis表上创建触发器。我不想这样做,因为 Oracle DB 在许多不同的应用程序之间共享。

  3. 手动检查视图和模板中的关系(Oracle 上的负载较重)。

哪一个是最好的?还有其他想法吗?

0 投票
1 回答
152 浏览

django - Django 中的权限是如何创建的?

以下引发DoesNotExist:异常:

我应该手动创建此权限吗?

0 投票
4 回答
13477 浏览

python - 如何在 django 中为 User 模型添加自定义权限?

默认情况下,在 django 中,当安装了 django.contrib.auth 运行 syncdb 时,它会在每个模型上创建默认权限......比如 foo.can_change 、 foo.can_delete 和 foo.can_add。要向模型添加自定义权限,可以在模型下添加类 Meta: 并在此处定义权限,如此处所述https://docs.djangoproject.com/en/dev/topics/auth/#custom-permissions

我的问题是,如果我想为 User 模型添加自定义权限该怎么办?像 foo.can_view。我可以用下面的代码片段做到这一点,

但我想要一些与syncdb 配合得很好的东西,例如我的自定义模型下的Meta 类。我是否应该将这些放在 Meta: 类中,在 UserProfile 下,因为这是扩展用户模型的方式。但这是正确的方法吗?这不会将它与 UserProfile 模型联系起来吗?

0 投票
1 回答
500 浏览

django - Django中行级权限的最佳应用是什么?

Django中行级权限的最佳应用是什么?

在http://djangopackages.com/grids/g/perms/有很多,但是如何选择更有前途的呢?

0 投票
1 回答
2204 浏览

django - 对象级权限 django

您如何确保用户只能编辑他们创建的对象?设置它的最佳方法是什么?

我正在使用 django-rest-framework 并想知道是否有一种方法可以限制用户查看/编辑他们不“拥有”的对象。

因此,用户“x”应该只能编辑其 owner_set 中的视频。

0 投票
3 回答
4697 浏览

django - Django 权限

我希望在我的 Django 项目中获得更细粒度的权限,但无法决定使用哪个应用程序。我所拥有的是这样的:

现在有了 Django 标准权限,我可以在添加、更改和删除之间进行选择,我想要的是扩展的更改权限,以提供仅授予组权限以更改徽标的能力,但不允许同一组修改项目描述。我不希望或不需要用户进入关系,而只是让不同组可以使用标准管理界面编辑模型的单个字段。我什至不确定我是否在谈论每个对象的权限?

有谁知道最好使用什么或我将如何自己实现它?我还可以想象拥有可以访问/读取所有内容但无法修改的只读用户,这也不可能。

谢谢你的帮助。

0 投票
2 回答
1956 浏览

django - 如何在管理站点的组或用户权限列表中显示添加或更改 Django 模型的权限?

我能够运行 Django 管理站点,并且当我以超级用户身份登录时,我也能够修改我的模型。这部分工作完美。当我以非超级用户的身份登录时,用户看不到修改此模型的选项。当我以超级用户身份登录并尝试授予此用户/组从权限列表中修改此模型的权限时,我在列表中找不到此权限。

我看到以下权限:

  • 管理员|日志条目|
  • .
  • .
  • 授权|组|...
  • 授权|消息|...
  • 授权|权限|...
  • 内容类型|...
  • 会话|...

但与我的 ModelAdmin 无关。我的 admin.py 如下所示:

只有超级用户可以编辑通过 ModelAdmin 指定的模型吗?如果我想允许某个组能够为选定模型执行此操作怎么办。有什么办法可以做到这一点?谢谢。

0 投票
1 回答
220 浏览

django - Django 的权限系统是否为社区 web 应用程序提供了自定义访问级别的优势?

如果您需要让某人访问管理员并限制他们可以做什么,那么 Django 权限非常有用。

但是如果我想在应用程序的前端使用类似的功能怎么办?

例子:

model Group有自己的Members,一个成员可以有三种不同的访问级别:

  1. 成员
  2. 行政
  3. 超级管理员

管理员只能为他们的组做特殊的事情,而不是为所有的组。

所以我想知道,在这些情况下实现 Django 的权限系统是否有意义?它比简单地在成员模型中添加一个指示访问级别并检查它的选择字段有什么好处吗?

0 投票
3 回答
6496 浏览

django - Django - 向管理员显示不同的模板

在 Django 中,为具有“管理员”权限的用户实现具有额外功能的模板的最佳方法是什么。

我不确定是否应该为管理员创建一组完全不同的视图,或者将其集成到我现有的视图和模板中,例如“如果用户是管理员”。

在 Django 中有没有标准的方法来做到这一点?