2016-12-12 5 views
0

私はパブリケーションモデルとパブリケーションポリシーポリシーを持っています。私は、次のしている方針にLaravelの承認ポリシー5.3

$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

オーケーは、壁に数回頭をバッシングした後に、それはすべて明らかになった:

私は常にフィルター(「前」)メソッドから値を返していました。あなたは、(true)または拒否(false)を許可する場合にのみ、値を返す必要があることが分かります。ポリシーチェックが特定の能力になるようにするには、値を返さない(またはNULLを返す)必要があります。

D'oh!

+0

これは私の場合のようです。多分あなたは私を助けることができます。これを見てください:http://stackoverflow.com/questions/42598826/how-can-i-do-authorization-policies-in-laravel-5-3 –