انتقل إلى محتوى الدرس

Route Level Authorization Middleware تفويض المسارات عبر وسيط Can

فحص الصلاحيات في المسارات والمتحكمات وقوالب Blade عبر @can و @cannot وتطبيق قواعد التحصين الأمني الشامل في Laravel.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يتيح لك Laravel أيضاً فرض الصلاحيات مباشرة في تعريف المسار باستخدام البرمجية الوسيطة can أو الدالة السلسة ->can على المسار. عند كتابة ->can('update', 'post')، يلتقط الإطار تلقائياً كائن النموذج المرتبط بالمعامل {post} ويمرره إلى دالة update في السياسة قبل تشغيل المتحكم.

  • ربط معامل المسار (->can('update', 'post')): يمرر كائن المقال المرتبط بالمعامل {post} في الرابط إلى السياسة.
  • ربط كلاس النموذج (->can('create', Post::class)): يمرر اسم الكلاس في مسارات الإنشاء التي لا تحتوي معامل سجل.
  • صيغة الوسيط النصية (can:update,post): تكافئ تماماً استخدام الدالة السلسة can على المسار.
PHP
Route::put('/posts/{post}', [PostController::class, 'update'])
    ->can('update', 'post');

Route::post('/posts', [PostController::class, 'store'])
    ->can('create', Post::class);