اذهب إلى المحتوى
  • 0

laravel multi authentiacate by using laravel breeze

السؤال

نشر

 اريد عمل في صفحة ال login ,register , verfied email  

عند كتابة ال  username ,password  كيف ستعرف  laravel  هل هذا users  او adminوعند تحديد ذلك تقوم بتوجيه كلا منهم الى صفحة ال  dashboard  الخاصة به

كما انني لا افهم دور الدالة  guard() , brocker

Recommended Posts

  • 0
نشر

Laravel Breeze هو تطبيق بسيط وبسيط لجميع الميزات التي تحتاجها للتسجيل وتسجيل الدخول وإعادة تعيين كلمة المرور ، وهي مبنية على ميزات المصادقة المدمجة في Laravel. يمكن استخدامه لتنفيذ مصادقة متعددة في Laravel. فيما يلي خطوات إعداد مصادقة متعددة في Laravel باستخدام Laravel Breeze:

قم بتثبيت Laravel Breeze 

composer require laravel/breeze --dev

قم بتشغيل 

php artisan breeze:install

أنشئ حارسًا جديدًا (guard) للمصادقة الجديدة الخاصة بك عن طريق تشغيل 

php artisan make:guard <guardName>

قم بتسجيل الحارس الجديد في 

config/auth.php

 ضمن مجموعة guards .

قم بإنشاء موفر جديد (provider ) للمصادقة الجديدة الخاصة بك عن طريق تشغيل

php artisan make:provider <providerName>

سجّل الموفر الجديد في 

config/app.php

 ضمن مجموعة providers .

قم بإنشاء نموذج جديد (model ) للمصادقة الجديدة الخاصة بك عن طريق تشغيل 

php: model <modelName>

قم بتحديث الحارس الذي أنشأته في الخطوة 3 لاستخدام نموذجك الجديد عن طريق تحديث خاصية النموذج في config / auth.php.

قم بإنشاء وحدة تحكم تسجيل دخول جديدة توسع وحدة تحكم تسجيل الدخول الخاصة بـ Breeze وقم بتحديث الحارس المستخدم في  دالة authenticate .
قم بإنشاء طرق عرض جديدة للمصادقة الجديدة وقم بتحديث طرق تسجيل الدخول والتسجيل لاستخدام طرق العرض الجديدة.
بعد هذه الخطوات ، يجب أن يكون لديك نظام مصادقة متعدد وظيفي بالكامل تم إعداده في تطبيق Laravel الخاص بك. يمكنك تكرار الخطوات لأنواع المصادقة الإضافية.

في Laravel ، الكلاس "guard" هو فئة مسؤولة عن مصادقة الطلبات. يحدد كل حارس كيفية مصادقة المستخدمين لاسم حارس معين. يأتي Laravel مزودًا بالعديد من الحراس ، بما في ذلك حارس الجلسة وحارس الرمز المميز ، ولكن يمكنك أيضًا إنشاء حراس مخصصين خاصين بك.

وظيفة guard هي وظيفة مساعدة يوفرها Laravel تتيح لك استرداد مثيل guard لاسم حارس معين. يمكن استخدامه في أماكن مختلفة في تطبيقك ، مثل وحدات التحكم والمسارات والبرمجيات الوسيطة. على سبيل المثال ، يمكنك استخدامه في وحدة تحكم لمصادقة مستخدم باستخدام حارس معين:

public function index(Request $request)
{
    $user = auth()->guard('guard-name')->user();
    // do something with the user
}

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

Route::middleware(['auth:guard-name'])->group(function () {
    // routes that are protected by the guard-name guard
});

يتم تعريف اسم الحارس في ملف config / auth.php ، في مصفوفة الحراس guards ، حيث يمكنك تحديد برنامج تشغيل الحارس والموفر provider.

من المهم ملاحظة أنه يمكن أن يكون لديك حارس متعدد في التطبيق الخاص بك ويمكنك تحديد أي واحد تستخدمه وفقًا لمتطلباتك.

في Laravel ، "الوسيط broker " هو فئة مسؤولة عن معالجة طلبات إعادة تعيين كلمة المرور. يحدد كل وسيط كيفية إعادة تعيين كلمات المرور لاسم حارس معين. يأتي Laravel مع العديد من الوسطاء ، بما في ذلك وسيط "المستخدمين" الافتراضي الذي يتم استخدامه لإعادة تعيين كلمات المرور للحارس الافتراضي ، ولكن يمكنك أيضًا إنشاء وسطاء مخصصين خاصين بك.

وظيفة الوسيط  broker  هي وظيفة مساعدة يوفرها Laravel تتيح لك استرداد مثيل الوسيط لاسم حارس محدد. يمكن استخدامه في أماكن مختلفة في تطبيقك ، مثل وحدات التحكم والمسارات. على سبيل المثال ، يمكنك استخدامه في وحدة تحكم لإرسال رابط إعادة تعيين كلمة المرور إلى مستخدم:

public function sendResetLinkEmail(Request $request)
{
    $response = $this->broker()->sendResetLink(
        $request->only('email')
    );
    return $response == Password::RESET_LINK_SENT
                ? $this->sendResetLinkResponse($response)
                : $this->sendResetLinkFailedResponse($request, $response);
}
 

تُستخدم وظيفة الوسيط broker أيضًا في البرنامج الوسيط لكلمة المرور ، وهو المسؤول عن معالجة طلبات إعادة تعيين كلمة المرور للمسارات المحمية بواسطة هذه البرامج الوسيطة. بشكل افتراضي ، تستخدم البرامج الوسيطة لكلمة المرور وسيط "المستخدمين" الافتراضي ، ولكن يمكنك تحديد وسيط مختلف عن طريق تمرير اسم guard كمعامل إلى البرنامج الوسيط: 

Route::middleware(['password:guard-name'])->group(function () {
    // routes that are protected by the guard-name broker
});
يتم تحديد اسم الوسيط  broker  في ملف config / auth.php ، في مصفوفة كلمات المرور ، حيث يمكنك تحديد برنامج تشغيل الوسيط والبريد الإلكتروني.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...