0
我註冊了訪問用戶配置文件的策略(查看,編輯)。 我允許它,如果:Laravel策略 - 從控制器傳輸的錯誤用戶
- 您要查看個人資料屬於你
- 你有權限「編輯任何配置文件」。
所以這是我view()
- 功能在策略:
public function view(User $user)
{
debug('User in Controller: '.$user->id);
return (Auth::user()->id === $user->id) || Auth::user()->can('edit any profile');
}
這是方法來顯示從ProfileController可採取縱斷面圖:
public function show(User $user) {
debug('User in Controller: '.$user->id);
$this->authorize('view', $user);
return view('profile.index')->with([
"user" => $user,
]);
}
最後的路線:
Route::get('/profile/{user}', '[email protected]')->name('profile');
當然,政策已經登記在AuthServiceProvider:
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
User::class => ProfilePolicy::class,
];
基本上器發送錯誤的用戶的政策。以下是各debug()
的兩個消息: