django - 默认解析器的身份验证/授权
问题描述
我阅读了有关如何将@login_required和其他装饰器与解析器一起使用的描述。但是,如果不使用显式解析器(而是使用默认解析器),如何实施类似的访问控制?
就我而言,我将石墨烯与 Django 用户模型一起使用。我有以下内容:
class UserNode(DjangoObjectType):
class Meta:
model = User
filter_fields = ['first_name', 'last_name', 'id', 'email']
interfaces = (Node, )
class Query(object):
userNode = relay.Node.Field(UserNode)
all_users = DjangoConnectionField(UserNode)
如果我明确定义一个 'resolve_all_users' 方法并在其上使用 @login_required 装饰器,它就可以正常工作。但是我的架构中的这个(和其他对象)依赖于默认解析器。如何在不必明确定义解析器的情况下保护它们?
我承认自己是使用石墨烯/graphql 的新手......并且非常感谢任何帮助我指出正确方向的人。
解决方案
没有明确定义方法的简单resolve_
方法。
但是您仍然可以继承Field
类并添加额外的构造函数参数来支持此功能或使用resolve_
:)
推荐阅读
- plugins - gtkada:使用 -fPIC 重新编译
- javascript - 从 ANGULARJS 中的 URL 中删除 #
- redis - 在分布式系统中选择哪种复制机制?
- python - 仅在 python 中使用 CSV 模块对 CSV 文件中的文本进行部分匹配
- node.js - 在 node/express 应用程序上键入控制器时出现问题
- java - 如何在 Android 中修复密钥长度 256 位
- python - Pandas:用最后一个可用值和一个标志填充空值
- python - 姜戈。如何为引导崩溃制作循环
- cassandra-3.0 - 无法更改 cassandra 列的数据类型
- python - 在 Google Colab 中打开 json 文件时显示错误