یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام دوستان
ببخشید من دارم گارد ها در لاراول رو یاد میگیرم ولی از هر جهتی که نگاه میکنم با استفاده از میدلور راحت ترم اما نمیدونم آیا میتونم همیشه از میدلور ها به جای گارد استفاده کنم یا ناچارم بعضی از بخش های پروژه رو با گارد بزنم
مرسی از همگی
سلام خدمت شما.
guard: فرض کنید برای احراز هویت میخواین از چند جدول استفاده کنید، مثلا ادمین و نویسنده. حالا داخل مدل های مربوطه باید واسشون گارد هم تعریف کنین. به صورت زیر:
protected $guard = 'admin';
protected $guard = 'writer';
بعد به مسیر زیر برید:
config/auth.php
و گاردها رو تعریف کنید.
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'writer' => [
'driver' => 'session',
'provider' => 'writers',
],
middleware: حالا باید داخل middleware ادمین خود به صورت زیر عمل کنید.
public function handle($request, Closure $next)
{
if (!auth('admin')->check()) {
return 'admin';
}
return $next($request);
}
middleware نویسنده:
public function handle($request, Closure $next)
{
if (!auth('writer')->check()) {
return 'writer';
}
return $next($request);
}
همچنین روت هاتونو باید به این صورت تعریف کنید.
Route::group(['middleware' => 'auth.admin'], function () {
});
Route::group(['middleware' => 'auth.writer'], function () {
});
و برای مثال فرض کنید شما میخواین عمل logout کردن رو انجام بدین که برای اینکار باید guard مربوطه رو صدا بزنین.
public function logoutAdmin(Request $request)
{
auth('admin')->logout();
}
public function logoutWriter(Request $request)
{
auth('writer')->logout();
}
امیدوارم مفید بوده باشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟