لماذا يهم هذا الدرس؟
فهم أساسيات التفويض وتطبيقه عمليًا داخل ميزة صغيرة في Laravel. يتعامل Middleware مع الفحوص المشتركة، وتثبت Authentication الهوية وتحفظ Sessions الحالة الموثوقة، بينما يقرر Authorization هل يسمح لهذه الهوية بعملية محددة.
كيف تفكر فيه؟
- في درس أساسيات التفويض، النتيجة التي يجب أن تتحقق: المصادقة تجيب من أنت، أما Policy فتجيب هل يسمح لك بهذه العملية.
- في سياق أساسيات التفويض، الخطر الذي يجب أن يبقى تحت السيطرة: إخفاء زر ليس Authorization؛ كل Mutation محمية يجب أن تفرض Permission أوPolicy على الخادم.
- تطبيق أساسيات التفويض: احم Route واحدة بالمصادقة وPolicy ثم اختبر حالات unauthenticated وforbidden وallowed منفصلة.
تطبيق عملي
في التطبيق الخاص بدرس أساسيات التفويض: المصادقة تجيب من أنت، أما Policy فتجيب هل يسمح لك بهذه العملية.
app/Policies/OrderPolicy.phpphp
public function update(User $user, Order $order): bool
{
return $order->user_id === $user->id;
}جرّب بنفسك
تمرين أساسيات التفويض
احم Route واحدة بالمصادقة وPolicy ثم اختبر حالات unauthenticated وforbidden وallowed منفصلة.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
