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

Authentication Versus Authorization الفرق بين المصادقة وتفويض الصلاحيات

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

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

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

بينما تتحقق المصادقة من هوية المستخدم عبر بيانات الدخول والجلسة، يحدد تفويض الصلاحيات ما يُسمح لهذا المستخدم المسجل بفعله داخل النظام. حتى بعد تسجيل دخول المستخدم بنجاح، يجب على التطبيق التحقق من ملكيته للسجل أو امتلاكه لدور إداري قبل السماح له بتعديل أو حذف البيانات.

  • المصادقة (Authentication 401): تجيب عن سؤال من أنت عبر الحراس والجلسات وفحص كلمة المرور.
  • التفويض (Authorization 403): يجيب عن سؤال هل تملك صلاحية تنفيذ هذا الإجراء عبر البوابات والسياسات.
  • منع التلاعب بالمعرفات (IDOR Defense): يمنع مستخدماً من تعديل مقال مستخدم آخر بمجرد تغيير رقم المعرف في الرابط.
مخطط معماري يوضح تفويض الصلاحيات وبوابات التحكم بالوصول Gates في Laravel في إطار العمل Laravel 12
PHP
// Authentication: Is the visitor logged in?
$user = $request->user();

// Authorization: Does this user own the post?
$isOwner = $user->id === $post->user_id;