默认解析器的身份验证/授权

时间:2018-09-26 17:29:30

标签: django graphql graphene-python

我阅读了有关如何将@login_required和其他修饰符与解析器一起使用的说明。但是,如果没有使用显式解析器(而不是默认解析器),那么如何执行类似的访问控制?

就我而言,我在Django User模型中使用了石墨烯。我有以下内容:

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的新手……非常感谢向我指出正确方向的任何帮助。

来源:https://github.com/flavors/django-graphql-jwt/issues/36

1 个答案:

答案 0 :(得分:0)

没有明确定义resolve_方法的简单方法。

但是您仍然可以继承Field类并添加额外的构造函数参数以支持此功能或使用resolve_:)