Laravel 5.3中的授权策略

时间:2016-12-12 18:17:53

标签: laravel-5.3

我有一个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,
];

另一点需要提及的是,函数之前的策略似乎工作得很好。这是个人对不起作用的能力的召唤。

帮助?

1 个答案:

答案 0 :(得分:0)

好吧,在我的头撞墙几次后,一切都变得清晰了:

我总是从过滤器("之前的#34;)方法返回一个值。事实证明,只有在您想要允许(true)或拒绝(false)时才需要返回值。如果您希望策略检查落到特定功能,则不需要返回值(或返回NULL)。

d'!哦