من دوتا پنل دارم
یکی برای ادمین و یکی برای کاربران
توی جدول user یه فیلد اضافه کردم به نام isadmin یعنی اگر 1بود ادمین و اگر صفر بود کاربر رو ببر به پنل خودش
من اینو اینجوری ایجاد کردم
php artisan make:middleware Admin
بعدش کد زیر روی توی کلاس Admin نوشتم
public function handle($request, Closure $next)
{
if(auth()->user()->isAdmin == 1){
return $next($request);
}
return redirect(‘home’)->with(‘error’,’You have not admin access’);
}
و بعدش کلاس فوق رو توی فایلKernelصدا زدم
اینم routeمن
Route::get(‘admin/routes’, ‘HomeController@admin’)->middleware(‘admin’);
ولی پیغام خطای زیر رو میده
Trying to get property of non-object
بهترین پاسخ
انتخاب شده توسط bardia
حسام موسوی
3 سال پیش
خوب دقت کنید شما میگید اگر طرف admin نبود دوباره بره صفحه Apanel در این خط
خوب زمانی که میزنید /Apanel چون ادمین نیستید دوباره redirect میشه به Apanel و در نهایت چنین اروری میده این redirect رو تغییر بدید به صفحه اصلی یعنی
return redirect('/');
حل میشه