问题标签 [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.
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
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 上存在?
django - 如何在将权限分配给 django 1.3 中的用户后保存权限
我有一组权限,从中我为用户分配了一些特定的权限。我正在使用这个:
权限分配成功,但是当我转到管理界面查看分配的权限时,它不会突出显示任何权限。请帮助我如何保存分配的权限?
django - 在 Django 中与其他用户共享对象
我在 Django 中为一个相当复杂的系统建模。我将在这里只发布它的相关部分,我将展示简化的用例图以更好地表达我的想法。
我基本上有两种类型的用户:卖家和客户。
卖家“获得”了一个客户,这意味着卖家现在拥有了客户的个人信息,并且可以与他/她进行互动。
卖家不能与他没有获得的客户互动。卖方创建相关对象的模型层次结构(子级别中的每个模型都通过外键连接到其父级)
卖方 与一些客户共享创建的盒子对象及其所有相关对象
授权客户可以:
- 阅读Box模型的一些属性
- R -ead 和U -pdate Item模型的一些属性
- 无法访问Item模型的某些属性
问题:
- A :在用户之间建立关系的最佳方法是什么?
我已经看到django-relationship可能很有用。 - B :在 Django 中与其他用户共享模型实例的最佳方法是什么?
就我而言,默认情况下,如果未明确共享 ,客户 将无法访问卖方创建的任何模型。 - C : 如果我只共享Box模型,是否意味着它的所有相关模型(Box 模型的外键)也将被共享?
- D :控制
每个用户的字段级别权限的最佳方法是什么?django-guardian在这里有用吗
?
python - 在南迁中使用监护人的assign_perm
我无法让 django-guardian assign_perm 在南部数据迁移中工作......它不起作用的原因似乎是因为 Guardian 没有使用冻结的 ORM。我如何才能让其他应用程序和 django-guardian 专门使用冻结模型。
python - Django、South 和 Guardian:迁移
我有两个用户,mh00h1 和 mh00h2。我也有在我的 models.py 中定义以下内容的 modelA:
从一个外壳,我去设置权限:
我意识到在我添加并确认这一点South
后并没有迁移我的模型。更改为显示未检测到更改。class Meta
modelA
read
read2
South
如何获得示意图迁移以正确更新数据库,或者是否有更好的方法来做到这一点,而不需要重做整个数据库?
谢谢你。
python - 如何组合来自不同 ModelAdmin 的管理模块
因为我需要显示我正在使用的位置字段的地图,gisadmin.OSMGeoAdmin
但现在我安装了 django-guardian 以获得对象级权限。现在我的模块必须将GuardedModelAdmin
地图字段丢失到一个简单的文本区域。
是否可以维护所有GuardedModelAdmin
功能并将位置地图字段像OSMGeoAdmin
在同一个模块中一样?
谢谢
python - Django 中的 group.get_all_permissions()
user.get_all_permissions()
有没有团体这样的东西?我需要一个组所有权限的列表,以便以后可以找到名称来引用这些相同的权限。
django - django-guardian 的行级权限 - 观察到对管理界面没有影响
我已将 django-guardian 的行级权限添加到我的项目中。
从设置看来一切正常:
- 已创建监护人特定表(guardian_groupobjectpermission、guardian_userobjectpermission)
- 具有 GuardedModelAdmin 的模型在“历史记录”旁边显示“对象权限”功能
- 它让我可以为用户/组分配“添加”、“更改”、“删除”权限
但是分配(而不是分配)权限对管理界面完全没有影响。每个用户都可以对所有对象做任何事情。
我试过了
但这只会影响查看对象的能力。一旦用户看到它,他也可以更改和删除它。不管权限中设置了什么。
我跟着另一个讨论在 ModelAdmin 中提出了这个建议
但这与上面的效果相似,它只限制了可见项。
我希望看到管理员“保存”和“删除”按钮(和功能)听 django-guardian。这是误会吗?还是我根本还没有走完整条路?
感谢您的任何提示!R
django - django-guardian - (用户,'用户名','用户名')的含义
谁能解释一下,是什么(User, 'username', 'username')
意思(User, 'username', 'username', 'groups__name', 'group_name')
?
在这里拍摄:http: //pythonhosted.org/django-guardian/api/guardian.decorators.html