问题标签 [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.
python - ImportError:没有名为监护人的模块
我是 Django 新手,所以通常我是大多数问题的原因,但我不知道为什么 django-guardian 1.3 应用程序无法安装。我在虚拟环境中使用 Django 1.7,我的操作系统是 Windows 8.1。
我遵循了 pythonhosted.org/django-guardian/installation.html 上的安装说明和pythonhosted.org/django-guardian/configuration.html上的配置,但是当我尝试运行程序时出现错误。
我在我的 settings.py 中添加了“监护人”、ANONYMOUS_USER_ID 和后端
Django-guardian 似乎已安装在我的虚拟环境中,但仍未找到。任何想法我可能做错了什么?(或其他关于 Django 中每个对象权限的建议?)谢谢!
更新:我将问题缩小到 virtualenv。当我在不使用 virtualenv 的情况下安装模块时,django 会像它应该的那样找到它们。我仍然不确定我到底做错了什么,但考虑到我目前只在做一个项目,这暂时有效。
django - 在 django TestCase 中检查权限
我正在尝试在 django1.8 应用程序中测试我的 create_user 视图。我在 TestCase 中有以下内容:
当我使用实际的应用程序创建用户然后打开外壳检查 has_perm('foo_app.add_bar') 时,它是真的。测试中出了什么问题?
我正在使用 django-guardian 获取对象权限。我settings.AUTHENTICATION_BACKENDS
的是:
django - 如何在 Django 的夹具中引用 ContentType?
我正在使用django-guardian为 Django 项目编写测试。权限夹具如下所示:
通过 id引用content_type
和引用是否安全?permission
还是 ids 会改变(即当我添加额外的权限/模型时)?
引用自动加载的对象的最佳方法是什么?
django - 使用监护人的快捷方式 assign_perm 分配权限导致“NoneType”对象没有属性“对象”
我的 Django 项目中有两个应用程序,假设它是 appA 和 appB。这些应用程序是通过pip install
. 他们两个在他们的模型中都有额外的权限:
appA 有:
appB 有:
我在我的项目中安装了这两个应用程序,并尝试创建他们拥有的模型的一些实例。一切正常(对象已创建并保存到数据库),直到权限分配步骤发生以下错误:
我检查了发生错误的确切位置,它在 django-guardian 内部。垃圾收集器似乎清理了本地上下文,将所有导入设置为无:
更重要的是,当我从 INSTALLED_APPS 中删除一个应用程序(例如 appA)时,另一个工作正常,即所有权限都已设置。
我不知道这个问题的根源是什么,如果它是在我的应用程序中,在监护人中还是在完全其他应用程序中?
django-rest-framework - 使用 DjangoObjectPermissionsFilter 使用 django-guardian 过滤用户对象
我能够将django-guardian
我的django-rest-framework
项目设置为drf docs 中的示例,但我未能实现我想要的行为。有人可以指出我做错了什么或者我想要的东西无法完成guardian
吗?
设置
设置.py
基础设施.permissions.py
模型.py
视图.py
预期行为
Events
返回的列表EventViewSet.list
仅包含请求用户可以查看的对象(请求用户具有 django.authview_event
权限或('view_event', event_object)
.EventViewSet.details
仅当请求用户具有权限或权限时才返回Event
实例。view_event
('view_event', event_object)
实际行为
- 如果用户拥有 django auth 权限
view_event
和 Guardian 权限('view_event', event_obj)
,它可以访问路由list
(获取所有条目)并details
与event_obj
. - 如果用户没有 auth 权限
view_event
,但有 Guardian 权限,他们会在所有路由(包括与他们有权限的 event_obj 关联('view_event', event_obj)
的路由)中收到 403 。details
- 如果用户有
view_event
但没有('view_event', event_obj)
,他们可以访问路由(查看所有条目),但无论访问的条目如何list
,他们都会在路由中收到 404 。details
谢谢!
django - Django rest框架查询集自定义权限
我想在我的 django rest 框架视图上使用 django Guardian 设置自定义权限。我已经成功地实现了它RetrieveModelMixin
,但不是ListModelMixin
。
我有一个看起来像这样的权限类:
我还在这里简化了视图:
我天真地期待的行为:ListModelMixin
可以根据 CustomPermhas_object_permission
规则自行过滤对象。
但它不是那样工作的。我可以通过编写一个get_queryset
方法并应用我的自定义权限规则来做我想做的事,但这似乎不合适而且很糟糕。
有没有更好的办法 ?谢谢 :)
PS:我确定我遗漏了一些东西,我的问题很幼稚,但我看不出是什么。
django - 现在如何在 Django 中处理每个对象的权限?
我正要使用django-guardian,直到我在官方文档中遇到以下内容:
不仅可以按对象类型设置权限,还可以按特定对象实例设置权限。通过使用 ModelAdmin 类提供的 has_add_permission()、has_change_permission() 和 has_delete_permission() 方法,可以为同一类型的不同对象实例自定义权限。
这是否意味着新版本的 Django 不再需要 django-guardian?
请说清楚。
python - Django Guardian 权限错误:参数 pk 未传递到视图函数
我有一个名为 Message 的模型,我使用 django-guardian 获得对象级权限。这个想法是消息实例中的 thefrom_user
和to_user
in 都应该具有can_view_message
权限。此功能是显示具有相同消息的消息列表thread_id
(创建消息时自动创建)。
此请求的 url 模式:
url(r'^messages/([-_a-z0-9]{1,32})/$', message_views.message_thread),
这是消息模型:
我使用 post_create 信号来分配权限:
但是我收到以下错误,但不知道为什么:
任何帮助将不胜感激,非常感谢!
django - 创建时检查 Django Rest Framework 权限
为什么django rest框架在创建对象时不检查对象权限?用户应该能够创建他们看不到、更新或删除的对象是没有意义的(无论如何对我来说)。目前我子类化一个视图集
为什么默认情况下不实现?这让我很头疼,我想不出一个原因会这样实现。