Я смотрел учебник по laravel о Essentials авторизации (8:15) и пытался сделать то же, что и в видео.
Я создал auth, создал и зарегистрировал политику, когда яв файл маршрутов добавлено промежуточное ПО, но оно всегда показывает 403, даже если я изменяю user role_id.Я не понимаю, почему это не работает и показывает 403, может быть, кто-то может мне объяснить?Где я ошибся?Кроме того, dd () не работает в политике, когда я использую промежуточное ПО в файле маршрута.
Laravel 5.8
web.php
Route::get('/home', 'HomeController@index')->name('home')->middleware('can:view,order');
AuthServiceProvider.php
protected $policies = [
'App\Order' => 'App\Policies\OrderPolicy',
];
OrderPolicy.php
public function view(User $user, Order $order)
{
return $user->role_id === 2;
}
, но политика работает в home.blade.php, когда я использую can в файле views.$ this-> authorize и другие способы также работают в контроллере
@can('view', $order)
test
@endcan
HomeController.php
public function index(Order $order)
{
//$this->authorize('view', $order);
$orders = Order::all();
return view('home', [
'orders' => $orders,
'order' => $order,
]);
}