Laravel 灯塔无法在用户模型上使用授权

Posted

技术标签:

【中文标题】Laravel 灯塔无法在用户模型上使用授权【英文标题】:Laravel lighthouse cannot use authorization on user model 【发布时间】:2021-07-25 15:15:37 【问题描述】:

user.graphql

createUser(input: CreateUserInput! @spread): User @field(resolver: "App\\GraphQL\\Mutations\\User\\Store") @can(ability: "create", injectArgs: true, model: "App\\Models\\User")

AuthServiceProvider.php

protected $policies = [
    User::class => UserPolicy::class,
];

UserPolicy.php

public function create(User $user, array $args)

    \Log::info($args);
    \Log::info($user->toArray());
    if ($user->hasPermissionTo(UserPermission::ADD_ACCOUNT)) 
        return true;
    

    return false;

UserPolicy __construct 函数被触发,但 create 函数没有被触发。 我收到错误消息“此操作未经授权。” 我的代码有什么问题吗? 灯塔版v5.2.0

【问题讨论】:

【参考方案1】:

对不起,我是白痴。我忘了传递 jwt 令牌。

【讨论】:

以上是关于Laravel 灯塔无法在用户模型上使用授权的主要内容,如果未能解决你的问题,请参考以下文章

Laravel使用policy完成用户授权

无法使用 Redis 和 Laravel 5.3 在私有频道上广播通知

Laravel Auth0 未授权用户

在刀片视图文件中使用laravel策略授权

Laravel 4:将模型从过滤器传递到控制器动作

Laravel 的用户授权