JBolouri
4 سال پیش توسط JBolouri مطرح شد
8 پاسخ

اعمال چند middleware بر روی route group

سلام دوستان..

یه میدل ور درست کردم که وضعیت مسدودیت حساب رو چک میکنه..

وقتی اونو روی روت اعمال میکنم درست کار میکنه ولی روی group که اعمال میکنم کار نمیکنه.

روی گروپ اینطوری اعمال میکنم.

Route::middleware(['auth:admin' , 'CheckAdminStatus'])->group(function () {

ولی وقتی روی روت خاصی در آخر روت اضافه میکنم درسته..

مشکل کار چیه بنظرتون؟


ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@javadbolouri72
سلام.
به صورت زیر تعریف کنید دوباره تست کنید:

Route::group(['middleware' => ['auth:admin', 'CheckAdminStatus']], function() {
  // Your Routes Here
});

JBolouri
@javadbolouri72 4 سال پیش مطرح شد
0

@mohsenbostan

متاسفانه بازم همون نتیجه رو داشت..

این صفحه میادش..

توضیح تصویر رو وارد کنید


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
1

یه پیشنهاد دارم براتون اینکه شما میان افزار auth رو پاک کنید بجاش هردو تا کارو بسپرید به میدلور checkadminstatus. هم برسی لاگین و هم برسی وضعیتو بدین به میدلوری که ایجاد کردین.@javadbolouri72


JBolouri
@javadbolouri72 4 سال پیش مطرح شد
0

@hosseinshirinegad98

از اولش همین قصد رو داشتم..
پرسیدم گفتن براش میدل ور جدا بساز که انعطاف بیشتری داره برای گسترشش..


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
1

به این خاطر گفتم شما این روشو امتحان کنید شاید مشکل میدلورتون حل بشه@javadbolouri72


JBolouri
@javadbolouri72 4 سال پیش مطرح شد
0

@hosseinshirinegad98
بله ممنون حتما امتحان میکنم..


وحید
تخصص : Fullstack
@forughi.vahid 4 سال پیش مطرح شد
1

@javadbolouri72
میدلور هاتون رو یکی یکی تست کنید تا محل ایراد پیدا بشه

Route::group(['middleware' => 'CheckAdminStatus'], ...)
 Route::group(['middleware' => ['auth:admin', 'CheckAdminStatus']], ...)

برای تست هر کدوم توی میدلور dd بزارید مرحله مرحله برید جلو ببینید برنامتون تا کجا اجرا میشه تا محل مشکل رو پیدا کنید.

  • میدلورهایی رو از هم جدا کنید که فکر میکنید بعدا قراره تغییری پیدا کنن ، مثلا اگر قراره همیشه ادمین بودن با استاتوس با هم چک بشن نیازی نیست توی دو تا میدلور جدا بیاریدشون ، میتونید مثلا چک کردن isAdmin رو هم توی همین checkAdmin چک کنید. ولی اگه قراره بعضی روت ها با استاتوس چک و بعضی بدون اون باشن بهترهمیدلور جدا تعریف بشه مثل همین کاری که انجام دادید.

JBolouri
@javadbolouri72 4 سال پیش مطرح شد
0

@forughi.vahid

بله ایراد رو پیدا کردم.. برای بعضی از روت ها اون میدل ور باعث میشد که توی یه لوپ بی نهایت بیفته بر همین اون ارور رو میداد.. الان رفع شد ممنون 🌷


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام