ال auth في laravel

لو سمحتوا ياريت لو في شرح عربي لملف ال auth.php في لارفل دورت كتير ومش لاقي

تاني حاجه الي أنا فاهمة ان الهيلبر فانكشن auth

بتشغل هيا معموله علشان تشتغل مع جدول ال user طيب لو عملت جدول مخصوص للادمن ازاي اخلي ال auth يتعامل معاه

تالت حاجه باريت لو حد يشرح الجارد في ال auth

رابع حاجه هل لازم استخدام الطريقه المتعارف عليها علشان اتاكد من ان المستخدم ده ادمن ولا لا عن طريق ال middle whare يعني انا هستخدم الميدل وير لاكن في دماغي طريقه وهيا اني اجيب الصلاحيه من الجدول وامرر براميتر للميدل وير ولو القيمتين متساويتين هخلي الريقوست يكمل هل طريقه زي دي غلط مثلا لو استخدمتها يعني ممكن يكون فيها ثغره ولا عادي

شكرا مقدما ياريت الي يعرف اجابه اي سؤال مش يبخل عليا

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

كافة الاجوبة من 1 - 3 رديت عليها هنا

4 - للتاكد من الادمن رجاءاً قم باستخدام policy معين لما تريد. ثم بالهيلبر can يمكن التاكد من الادمن وخلافه. اطلع على policies + gates بخصوص هاذا الشأن. ودع الأوث عام لا تتعب نفسك فيه.

ملاحظة:

فيه فرق بين Authorization و authentication

ببساطة جدا جدا دون الخوض بتعقيدات

لما تسمع في Authentication فاعتبره انه القدرة على الدخول والوصول

ولما تسمع Authorization فاعتبره القدرة على فعل شي معين بعد الدخول والوصول. (القدرة على عرض زر حذف المستخدم للادمن يعتبر قدرة على فعل شي ويمكن عمله ببوليسي)

ايضا قاعدة .. اذا كنت لاتفرق حاليا بين القيت والبوليسي فدائما استخدم بوليسي.

السلام عليكم ورحمة الله وبركاتة

أولاً ملف auth.php

ستجد كل الامور الخاصة بالملف في ذلك المقال

ثانياً helper function auth()->user

كل تلك الامور موجودة قد تم شرحها من قبل تحت مسمى

multiple authentication laravel

يمكنك بعد إضافة guard ( حارس )

ملحوظة لن تكون الامور المذكورة مِن الآن فصاعِداً واضحة إلا إذا  كنت قد قراءة المقال الذي سبق وذكرتها لك

في ملف auth.php ستجد ال guards بهذا الشكل

    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],


        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
    ],

ستقوم باضافة حارس جديد على سبيل المثال انا قمت بإضافة حارس جديد وقمت بتسميته admin بهذا الشكل


    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],


        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
],

خطوات تعريف ال guard موجودة بالمقال وبعد انشاءة يمكنك استخدامة بشكل التالي

auth()->admin->name