توضیحات

در این جلسه به استفاده از middleware برای سطح دسترسی پروژه فروشگاه اینترنتی با لاراول می پردازیم.

دوستان دقت کنید که توی کنترولرهای RoleController وPermmisionController وUserController بجای اینکه کلاس Permission و Role را از App\Models\Permission و App\Models\Role بگیرید و use کنید.
باید از Spatie\Permission\Models\Permission و Spatie\Permission\Models\Role دریافت و use کنید.
پس این مقادیر در بالای کنترولرها

use App\Models\Role
use App\Models\Permission

باید به این شکل شود.

use Spatie\Permission\Models\Role
use Spatie\Permission\Models\Permission

از طرفی permmisionهای یک role یا نقش در جدول role_has_permissions ذخیره میشود، نه در جدول model_has_permissions


طراحی وب طراحی سایت پی اچ پی php شی گرایی php oop php mvc mvc پایگاه داده laravel لاراول فروشگاه_اینترنتی

مدرس دوره علی شیخ
مدت دوره 42:39:50
تعداد ویدیو 212

وضعیت دوره : کامل شده
قیمت دوره : 699,000 629,000 تومان

نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • استاد سلام وقت بخیر ، در این قسمت استاد چگونه میشه وقتی یوزر ها یک اکانت میسازن به طور دیفالت یک رول داشته باشن مثلا هر کاربری که ریجستر کرد به طور پیش فرض رول دانش آموز داشته باشه

    • سلام وقت بخیر.
      هر کجا که یک کاربر ایجاد یا عضو میکنید، در اونجا با توجه به id کاربری که ایجاد شده، براش نقش یا هر کار دیگه ای که دوست دارید انجام بدید.

  • یک مشکل عمده اینه که پرمیژن‌ها از نقش به کاربر ارث نمی‌رسه.
    جدول role_has_permissions مقداردهی نمیشه و syncPermissions یا givePermissionTo فقط جدول model_has_permissions رو آپدیت می‌کنند.
    این در واقع باعث میشه نقش‌ها کاربردی نداشته باشند.
    من ورژن 2 این پکیج رو تو یه پروژه قدیمی پیاده‌سازی کرده بودم و تقریبا همین کدهایی که شما برای RoleController نوشتی توی ورژن 2 جدول role_has_permissions رو آپدیت میکنند. مشکل از ورژن 4 هست؟

    • سلام وقت بخیر.
      بله درست میفرمایید اما شما role را دارید و امده از model_has_permissions استفاده کرده که polymorphic هست.