ユーザのプロファイルにアクセスするためのポリシー(表示、編集)を登録しました。表示しようとしているプロファイルは、あなたが「どのプロファイルの編集」権限を持っているあなた Laravel Policy - コントローラから送信された間違ったユーザ
- :場合、私はそれを許すいずれか 。
ので、これは政策の私view()
-functionです:
public function show(User $user) {
debug('User in Controller: '.$user->id);
$this->authorize('view', $user);
return view('profile.index')->with([
"user" => $user,
]);
}
そして最後にルート:
public function view(User $user)
{
debug('User in Controller: '.$user->id);
return (Auth::user()->id === $user->id) || Auth::user()->can('edit any profile');
}
これはProfileControllerから取られたプロファイルビューを表示する方法であり、
Route::get('/profile/{user}', '[email protected]')->name('profile');
はもちろん、ポリシーはAuthServiceProviderに登録されました:
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
User::class => ProfilePolicy::class,
];
基本的には、コントローラは、ポリシーに間違ったユーザーを送信します。ここでは、それぞれのdebug()
年代から両方メッセージです: