首页 > 解决方案 > 默认解析器的身份验证/授权

问题描述

我阅读了有关如何将@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 的新手......并且非常感谢任何帮助我指出正确方向的人。

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

标签: djangographqlgraphene-python

解决方案


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

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


推荐阅读