Пользователь. php:
public function IsAdmin(){
return $this->role=='admin';
}
Checkifadmin. php (промежуточное ПО):
public function handle($request, Closure $next)
{
if (auth()->user()->role=='admin') {
return redirect(route('home'));
}
return $next($request);
}
Ядро. php:
В защищенном маршруты
'checkifadmin' =>\App\Http\Middleware\Checkifadmin::class,
create_users_table. php
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('role')->default('customer');
$table->rememberToken();
$table->timestamps();
});
web. php:
Route::get('admin',function(){
return view('layouts.admin');
})->middleware(['checkifadmin']);
Route::get('/', function () {
return view('index');
})->name('home');
Route::get('/shop/product', function () {
return view('shop.product');
})->name('shop.product');
Route::get('/shop/shoppingcard', function () {
return view('shop.shoppingcard');
})->name('shop.shoppingcard');
Route::get('/shop/checkout', function () {
return view('shop.checkout');
})->name('shop.checkout');
Auth::routes();
В моем пользователе 2 роли. Клиент и администратор, только администраторы должны иметь доступ к / admin, но по какой-то причине он не работает. Я скопировал и вставил все возможные коды, которые я сделал по этому поводу, заранее спасибо