我有一个Publication模型和一个PublicationPolicy策略。在我的控制器中,我使用以下内容:
$this->authorize('update', $pub);
关于政策,我有以下内容:
public function update(User $user, Publication $publication)
{
dd($user);
}
我收到一条错误消息,说“此操作未经授权”,而不是因用户输出而死亡。
我已经在AuthServiceProvider中注册了这样的政策:
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
Publication::class => PublicationPolicy::class,
];
另一点需要提及的是,函数之前的策略似乎工作得很好。这是个人对不起作用的能力的召唤。
帮助?
答案 0 :(得分:0)
好吧,在我的头撞墙几次后,一切都变得清晰了:
我总是从过滤器("之前的#34;)方法返回一个值。事实证明,只有在您想要允许(true)或拒绝(false)时才需要返回值。如果您希望策略检查落到特定功能,则不需要返回值(或返回NULL)。
d'!哦