未调用我的授权策略,并且我收到403错误。这是API的一部分。
我尝试使用“授权”助手或通过中间件从控制器调用它。我也尝试过使用auth()-> guard('api')-> user()-> can()。
DeckPolicy.php
public function view(User $user, Deck $deck)
{
dd('policy called');
if ($deck->private) {
return false;
}
return true;
}
AuthServiceProvider.php
class AuthServiceProvider extends ServiceProvider
{
protected $policies = [
'App\Deck' => 'App\Policies\DeckPolicy'
];
public function boot()
{
$this->registerPolicies();
}
}
DecksController.php
public function show(Deck $deck)
{
$this->authorize('view', $deck);
return new DeckResource($deck);
}
我希望输出是“已调用策略”,但是使用邮递员时,我收到的只是一个403错误页面。
我想了解为什么'authorize()'帮助函数无法正常工作。