راکت
نوب
نوب
توسط نوب مطرح شد
4 پاسخ

دسترسی محدود برای مطالب هر کاربر

سلام دوستان
چطور میتونم در middleware دسترسی ویرایش و حذف مطالبی که کاربرا گذاشتن را مدیریت کنم و بگم که هر کاربر فقط به مطالبی که خودش گذاشته دسترسی ادیت و حذف داشته باشه ؟

توی شاخه app/http/Middleware یه کلاس User ساختم با کد زیر که از دیتابیس چک میکنه اگر ستون role مقدارش 1 هست یعنی دسترسی کاربر هست و بهش دسترسی دیدن صفحاتی که در route معرفی کردم را میده

class User
{
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (auth::check()) {
            if (auth::user()->role == 1) {
                return $next($request);
            }
        }
        return redirect('/dashboard');
    }
}

اینم نحوه استفاده کدم در web.php

    Route::get('/user_domains', 'users_domainController@index')->middleware('auth', 'User');

حالا چطور میتونم برای middleware تعریف کنم که هر کاربر فقط به همون مطالبی که گذاشته دسترسی حذف و ادیت داشته باشه و نتونه با inspect از فرم id مطلب را تغییر بده و مال کاربر دیگه ای را دستکاری کنه

ممنون


ثبت پرسش جدید
سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza666 سال پیشمطرح شد
0

برای اونا هم میدلور بنویس و روی روت حذف یا ویرایش اعمال کن


نوب
نوب
تخصص :کدنویس نوب :)
@yk5742g6 سال پیشمطرح شد
0

@juza66 سلام
میدونم اینو ::D
مشکل اینجاست که نمیدونم کدی که توی کلاس User برای چک کردن دسترسی کاربر به id مطلب خودش هست چیه
البته منظورم با لاراول هست که استاندارد باشه
وگرنه به صورت عادی میتونم بنویسم ولی میخوام بر اساس قواعد لاراول باشه


جواد کرمی
جواد کرمی
تخصص :توسعه دهنده وب و اپلیکیشن | فرانت اند
@javadkarami6 سال پیشمطرح شد
0

با user_id چک کن اگر user_id مطلب مورد نظر برابر با id کاربر بود دسترسی موردنظرت رو فعال کن


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat6 سال پیشمطرح شد
0

برای این کار میتونی خیلی راحت از Policy ها و Authorization استفاده کنی..
هر چند که با میدلور هم میتونی کار کنی


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

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