سلام عليكم
اريد شرح guards او guard
في laravel في config/auth.php
افترض لديك كنترولر وتريد وضع auth معين له للتاكد من انه مستخدم مثلا ..
تضح التالي
public function __construct()
{
$this->middleware('auth');
}
هذه المصادقة ستأخذ قيمها من القارد الافتراضي المحدد في قيمة defaults في ملف config/auth.php وايضا لو وضعتها بالروت
Route::get('/')->uses('HomeController')->middleware('auth')
ستأخذ القيمة ذاتها
لكن افترض انك تريد وضع اوث خاص بالاباي في كنترولر فتحدد قيمة القارد المعين في ملف config/auth.php في مصفوفة guards
public function __construct()
{
$this->middleware('auth:api');
}
يمكنك إنشاء قارد جديد في مصفوفة guards
'icecream' => [
'driver' => 'session',
'provider' => 'users',
],
لاحظ ان الدرايفرات المدعومة افتراضيا هي session و token والاولى هي جلسات المستخدم العادية والتوكن هي الخاصة بالابايز ومعروفة (راجع ملف config/session.php لضبطها كما تشاء, اما درايفر التوكن فطريقة ضبطة موضحة بموقع لارفل بشكل مفصل وهو ليس موضوعنا)
اما provider فيمكنك وضع اي قيمة موجودة في مصفوفة providers في نفس الملف, او إنشاء قيمة جديدة هناك.
يمكنك الاستفادة ايضا من خلال الفاساد الخاص بالاوث من طلب قارد معين Auth::guard('icecream')->attempt($credentials)
لاحظ أنه غالبا لاتحتاج أن تغير شي بالملف, مثلا اذا اردت الاستغناء عن ايلكوينت يمكنك ازالته من providers ووضع قاعدة البيانات العادية مثل فريم وورك لومين المبسط.
إنشاء الله اكون وضحت شي بسيط ... اعرف ان شرحي شوي معقد لكن الملف واضح لو عرفت ان كل قيمة بالمصفوفة تملك قيمة مما تحتها بالمصفوفات.
التعليقات