راکت

ریدارکت کردن به پنل ادمین در لاراول

5 پاسخ

سلام خسته نباشید
پروژه ام لاراول 10 کار میکنم که دو پنل جداگانه ساختم و صفحه لاگین ورود به کاربر هست ، پنل کاربری و پنل ادمین براساس نقش کاربری بررسی میکند اگه نقش کاربر بود بره اون صفحه پنل کاربری وارد بشه و اگه ادمین بود بره پنل ادمین وارد شه .
اگه لطف میکنید یه کمک خواستم و بدونم در لاراول 10 چطور مینویسن؟

Mohammad Nazari
Mohammad Nazari
@mn68728
ثبت پرسش جدید

پاسخ‌ها

5
میکائیل
میکائیل
@FullStack

تخصص: برنامه نویسی سمت سرور و کلاینت

سلام وقت بخیر
منظورتون رو متوجه نشدم یعنی شما این سیستم رو پیاده کردین ولی میخواین بدونین توی لاراول 10 چطور پیاده میشه؟

Mohammad Nazari
Mohammad Nazari
@mn68728

اره میخوام بدونم چطور پیاده میشه فقط براساس نقش کاربری چک کند.
یه جدول نقش و یه جدول دیگر یوزر ساختم.

شاید پاسخ شما همین‌جا باشد

میکائیل
میکائیل
@FullStack

تخصص: برنامه نویسی سمت سرور و کلاینت

خوب فرقی نکرده فقط لاراول 10 یه خورده ویژگی بهش اضافه شده که داخل سایت راکت هم آموزشش هست میتونید ببینید ولی کلا توی اون بحثی که شما میگید فرقی نکرده واسه کاربر ها میتونی رول در نظر بگیری و مثلا کاربری که role برابر با 0 باشه کاربر معمولیه و ریدایرکت بشه به صفحه اول سایت اما کاربری که مثلا role برابر با 1 هست ادمینه و ریدایرکت بشه به صفحه پنل ادمین ها که توی پنل ادمین هم باید چک کنی که رول درست باشه وگرنه اونجام به صفحه اول سایت ریدایرکت کنه باید از میدلور ها استفاده کنی که نیای هربار چک کنی

Mohammad Nazari
Mohammad Nazari
@mn68728

بله درسته، یک middleware ساختم

if(auth()->user()->hasRole("admin") || auth()->user()->hasRole("saler"))
        {
            return $next($request);
        }
        abort(403);

رابطه بین جدول ها چند به چند هست که ساختم بعد

داخل فاتکشن store در مسیر پوشه auth/AuthenticatedSessionController یه شرط اضافه کردم.

$getRole = $request->user->roles->first()->name;        
        if($getRole === "admin" || $getRole === "saler")
        {
            return redirect()->intended(RouteServiceProvider::PANEL_ADMIN);
        }
        else
        {
            return redirect()->intended(RouteServiceProvider::PANEL_USER);
        }

اینطوری نوشتم به نظرم کار میکند ، ادمین میتونه هردو صفحه پنل ادمین یا کاربری وارد بشه اما کاربر فقط وارد پنل کاربری میشه.

Mohammad Nazari
Mohammad Nazari
@mn68728

فقط بدونم که ادمین وارد پنل کاربری نشه ....

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام