احمدرضا بشری
2 سال پیش توسط احمدرضا بشری مطرح شد
2 پاسخ

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

سلام و عرض خسته نباشید

من دو تا پرمیشن برای سایتم به اسم های owner و member تعریف کردم
چطوری میتونم تعدادی از این صفحات رو مخصوص member و تعدادی رو مخصوص owner قرار بدم
بعنوان مثال میخوام صفحه ی ساخت محصول برای owner باشه
و صفحه سفارش محصول برای member باشه


ثبت پرسش جدید
saman khoshghadam
تخصص : برنامه نویس وب
@thethinkerdev 2 سال پیش مطرح شد
0

سلام
نگفتید از کدوم پکیج استفاده میکنید اگر از spatie permission استفاده میکنید باید به route خودتون چنین middleware رو اضافه کنید:

    Route::post("post/enable/{id}", [PostController::class, "enable"])->name("post.enable")->middleware("permission:edit-post");
  • حالت های متفاوتی میتونید استفاده کنید مثلا فقط Owner یا Admin میتونه این روت رو ببینه که کامل در مستندات spatie گفته شده در بخش middleware

بدون پکیج هم اون صفحه ای که مثلا مربوط به owner هست رو یک middleware تعریف کنید و به اون روت بدید و چک کنید که کاربر آیا اجازه رو داره این صفحه رو ببینه یا نه

gate,policy هم اینجا میتونه استفاده بشه

@ahmadrezabashari


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 2 سال پیش مطرح شد
0

درود...
به این صورت کار کنید:

Route::middleware(['auth', 'Owner'])->prefix('/panel')->group(function() {
    Route::resource('/users', UserController::class)->except(['show']);
});
Route::middleware(['auth', 'member'])->prefix('/panel')->group(function() {
    Route::resource('/posts', PostController::class)->except(['show']);
});

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

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