首页 > 解决方案 > Laravel authorizeResource "此操作未经授权。"

问题描述

我在命名空间中有一个名为 BusinessClient 的模型App/BaseData。对于这个模型,我使用命令创建了一个策略并将其php artisan make:policy BaseData/BusinessClientPolicy --model=BusinessClient注册到AuthServiceProvider.php文件中。

protected $policies = [
    // Base Data
    BusinessClient::class => BusinessClientPolicy::class,
];

此策略中的view方法如下所示

public function view(User $user, BusinessClient $businessClient)
{
    return true;
}

为了授权我的资源,我在 apiResource Controller 的构造函数中调用了该authorizeResource方法。

public function __construct(Request $request)
{
    $this->middleware('auth:api');
    $this->middleware('verified');
    $this->authorizeResource(BusinessClient::class, 'business_client');
}

401 Forbidden我的问题是,当我尝试show从控制器调用该方法时,我总是得到响应。我的代码出了什么问题?

标签: phplaravelrest

解决方案


推荐阅读