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

Authorization Gates Reference Summary ملخص بوابات التحكم بالوصول Gates

التمييز الدقيق بين المصادقة والتفويض وتعريف بوابات الصلاحيات البرمجية عبر Gate::define وفحصها بـ allows و authorize.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

توفر بوابات الصلاحيات Gates آلية سريعة ومعبرة لتوحيد قواعد التحكم بالوصول داخل AppServiceProvider. اعتمد على Gate::define لتعريف القواعد، و Gate::authorize لفرضها بصرامة في المتحكمات، و Gate::before لتجاوز الفحوصات للمدير العام.

وجه المقارنة الهندسيالأسلوب اليدوي أو غير المحسنمعيار Laravel 12 الحديث
فحص ملكية السجلتكرار شرط مقارنة user_id يدوياً داخل عشرات الدوالتعريف بوابة مركزية قابلة لإعادة الاستخدام عبر Gate::define
إيقاف الطلب المرفوضكتابة جملة شرطية مع abort(403) يدوياً في كل مرةاستدعاء Gate::authorize('update-post', $post) بسطر واحد
صلاحية المدير العامإضافة شرط || $user->is_admin داخل كل بوابة على حدةتسجيل خطاف Gate::before موحد في AppServiceProvider
توضيح سبب الرفضإرجاع false فقط دون توضيح سبب المنع للمستخدماستخدام Response::deny مع رسالة واضحة أو denyAsNotFound
PHP
// Define in AppServiceProvider::boot()
Gate::define('publish-post', fn (User $u) => $u->role === 'edi

// Enforce in Controller:
Gate::authorize('publish-post');
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس حول «تفويض الصلاحيات وبوابات التحكم بالوصول Gates في Laravel» مفاهيم الفرق بين المصادقة وتفويض الصلاحيات، وتعريف بوابات الصلاحيات Gate Define، وفحص البوابات بدالة Gate Allows وفق معايير Laravel 12 الحديثة.

الخطوة التالية والدرس القادم

انتقل الآن إلى الدرس التالي «إنشاء وتسجيل سياسات النماذج Policies في Laravel» للبناء التراكمي على ما تعلمته.