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

django - Django Auth Permissions 无法实现 Django-Guardian 的哪些功能?

django-guardian 提供了哪些 django auth 权限尚未提供的功能?

以下是 django-guardian 文档列出的功能:

  • Django 的对象权限
  • 匿名用户支持
  • 高级 API
  • 经过大量测试
  • Django 的管理集成
  • 装饰器

“对象级”权限是什么意思?是否与将权限分配给已受 auth 权限支持的对象实例相同?

“不仅可以按对象类型设置权限,还可以按特定对象实例设置权限。”

https://docs.djangoproject.com/en/dev/topics/auth/default/#default-permissions

0 投票
1 回答
584 浏览

django - Django South 迁移无法访问自定义模型元属性

我有一个我创建的 Django 应用程序,它使用 Django Guardian 来管理对象级权限,并使用 Django South 来管理迁移。我创建了一个模型 mixin,它允许模型使用自定义 Meta 属性定义要在创建时分配的对象级权限。例如,一个Message模型可能看起来像:

AutoUserPermissionsMixin定义了一个自定义,save()它读取模型的 Meta 以了解应该将哪些对象级权限分配给来自 的哪个字段user_permissions_to_add,并进行分配。我通过在我定义的文件顶部执行此操作添加了自定义 Meta 字段AutoUserPermissionsMixin

问题是,我正在尝试在 South 进行数据迁移以创建许多新模型实例,并且它没有分配对象级权限,因为save()在迁移中不处理自定义方法。

现在我可以使用自定义中使用的相同方法save()来尝试在模型中应用权限,即sync_object_permissions(instance, permissions). 我想在迁移时读取它们在 Meta 上的任何状态的权限,而不是将它们硬编码到迁移中。但是,当尝试调用时sync_object_permissions(message_instance, permissions=message_instance._meta.user_permissions_to_add),South 会抛出错误:

user_permissions_to_add因此,由于某种原因,在迁移时Meta 没有使用我的自定义属性进行更新。我如何确保它在迁移中的 Meta 上存在?

0 投票
1 回答
514 浏览

django - 如何在将权限分配给 django 1.3 中的用户后保存权限

我有一组权限,从中我为用户分配了一些特定的权限。我正在使用这个:

权限分配成功,但是当我转到管理界面查看分配的权限时,它不会突出显示任何权限。请帮助我如何保存分配的权限?

0 投票
1 回答
3149 浏览

django - 在 Django 中与其他用户共享对象

我在 Django 中为一个相当复杂的系统建模。我将在这里只发布它的相关部分,我将展示简化的用例图以更好地表达我的想法。

我基本上有两种类型的用户:卖家和客户。

  1. 卖家获得”了一个客户这意味着卖家现在拥有了客户的个人信息,并且可以与他/她进行互动。
    卖家不能与他没有获得的客户互动。 在此处输入图像描述

  2. 卖方创建相关对象的模型层次结构(子级别中的每个模型都通过外键连接到其父级)
    在此处输入图像描述

  3. 卖方 与一些客户共享创建的盒子对象及其所有相关对象 在此处输入图像描述

  4. 授权客户可以:

    • 阅读Box模型的一些属性
    • R -ead 和U -pdate Item模型的一些属性
    • 无法访问Item模型的某些属性

    在此处输入图像描述

问题:

  • A :在用户之间建立关系的最佳方法是什么?
    我已经看到django-relationship可能很有用。
  • B :在 Django 中与其他用户共享模型实例的最佳方法是什么?
    就我而言,默认情况下,如果未明确共享 ,客户 将无法访问卖方创建的任何模型。
  • C : 如果我只共享Box模型,是否意味着它的所有相关模型(Box 模型的外键)也将被共享?
  • D :控制 每个用户的字段级别权限的最佳方法是什么?django-guardian在这里有用吗
0 投票
1 回答
182 浏览

python - 在南迁中使用监护人的assign_perm

我无法让 django-guardian assign_perm 在南部数据迁移中工作......它不起作用的原因似乎是因为 Guardian 没有使用冻结的 ORM。我如何才能让其他应用程序和 django-guardian 专门使用冻结模型。

0 投票
1 回答
660 浏览

python - Django、South 和 Guardian:迁移

我有两个用户,mh00h1 和 mh00h2。我也有在我的 models.py 中定义以下内容的 modelA:

从一个外壳,我去设置权限:

我意识到在我添加并确认这一点South后并没有迁移我的模型。更改为显示未检测到更改。class MetamodelAreadread2South

如何获得示意图迁移以正确更新数据库,或者是否有更好的方法来做到这一点,而不需要重做整个数据库?

谢谢你。

0 投票
1 回答
95 浏览

python - 如何组合来自不同 ModelAdmin 的管理模块

因为我需要显示我正在使用的位置字段的地图,gisadmin.OSMGeoAdmin但现在我安装了 django-guardian 以获得对象级权限。现在我的模块必须将GuardedModelAdmin地图字段丢失到一个简单的文本区域。

是否可以维护所有GuardedModelAdmin功能并将位置地图字段像OSMGeoAdmin在同一个模块中一样?

谢谢

0 投票
0 回答
206 浏览

python - Django 中的 group.get_all_permissions()

user.get_all_permissions()有没有团体这样的东西?我需要一个组所有权限的列表,以便以后可以找到名称来引用这些相同的权限。

0 投票
1 回答
1615 浏览

django - django-guardian 的行级权限 - 观察到对管理界面没有影响

我已将 django-guardian 的行级权限添加到我的项目中。

从设置看来一切正常:

  • 已创建监护人特定表(guardian_groupobjectpermission、guardian_userobjectpermission)
  • 具有 GuardedModelAdmin 的模型在“历史记录”旁边显示“对象权限”功能
  • 它让我可以为用户/组分配“添加”、“更改”、“删除”权限

但是分配(而不是分配)权限对管理界面完全没有影响。每个用户都可以对所有对象做任何事情。

我试过了

但这只会影响查看对象的能力。一旦用户看到它,他也可以更改和删除它。不管权限中设置了什么。

我跟着另一个讨论在 ModelAdmin 中提出了这个建议

但这与上面的效果相似,它只限制了可见项。

我希望看到管理员“保存”和“删除”按钮(和功能)听 django-guardian。这是误会吗?还是我根本还没有走完整条路?

感谢您的任何提示!R

0 投票
1 回答
273 浏览

django - django-guardian - (用户,'用户名','用户名')的含义

谁能解释一下,是什么(User, 'username', 'username')意思(User, 'username', 'username', 'groups__name', 'group_name')

在这里拍摄:http: //pythonhosted.org/django-guardian/api/guardian.decorators.html