یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
NESYOU
4 سال پیش توسط NESYOU مطرح شد
4 پاسخ

جلوگیری از دسترسی کابران معمولی به ادمین پنل

سلام دوستان
من از این میدلور برای اینکه چک کنم ببینم کاربر میتونه به ادمین پنل دسترسی پیدا کنه یا ن استفاده میکنم و این ک این روش مشکلش اینکه کاربر لاگ اوت نمیشه ! اگ شما راهی میدونید ک وقتی دسترسی نداشت لاگ اوت هم کنه
یا اگ از راه بهتری در اینجور مواقع استفده میکنید لطف کنید بگید
@mhyeganeh
@mehdi.shahabbasian

class UserRole
{
public function handle(Request $request, Closure $next)
{
    if(Auth::check() && Auth::user()->role == 1 ){
        return $next($request);
    } else {
        return response(redirect()->route('home'));
    }
    return $next($request);
}
}

ثبت پرسش جدید
فرشید مرادی
تخصص : noob
@eniack 4 سال پیش آپدیت شد
1

@nesyourys
سلام ، شما نیاز نیست دیگ لاگین بودن یوزر رو چک کنید داخل میدولر، داخل کد های بکند لاگین موقعی که ورود میکنه کاربر یک سشن به اسم ادمین ست کنین .
و داخل میدولر چک کنید ک ایا سشن ادمین ست شده اگر ست شده بود بعد چک کنید که نقش یوزر چیه و اگر ادمین بود اجازه دسترسی بدید


مصطفی خراشادی زاده
@safakh 4 سال پیش مطرح شد
0

سلام دوست عزیز @nesyourys
برای این کار شما روش های زیادی هست
بستگی به شما داره که در چه سطح و مقداری نیاز دارید

شما میتونید برای ورود به پنل ادمین از راه حل خود لاراول گیت (Gate) و پالسی (Policy) هم استفاده کنید
آیا میخواهید مجوز ها و دسترسی های به پنل ادمین رو هم کنترل کنید یا خیر ؟!


NESYOU
تخصص : توسعه دهنده بک اند
@nesyourys 4 سال پیش مطرح شد
0

@safakh1394
سلام نه پروژه به صورت ACL نیست


مهدی شاه عباسیان
تخصص : برنامه نویس
@shahabbasian 4 سال پیش آپدیت شد
2

@nesyourys
نمیدونم چرا نیاز هست که اگر دسترسی نداشت لاگ اوت بشه حتما

اما میتونید با کد زیر کاربرو لاگ اوت کنید:

auth()->logout();
class UserRole
{
    public function handle(Request $request, Closure $next)
    {
        if(Auth::check()){
            if (Auth::user()->role == 1) {
                return $next($request);
            }else {
                auth()->logout();
                return response(redirect()->route('home'));
            }
        } else {
            return response(redirect()->route('home'));
        }
    }
}

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

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