در لاراول، میتونی یک Middleware رو روی یک گروه از مسیرها (Route Group) اعمال کنی تا همهی مسیرهای داخل اون گروه به صورت خودکار توسط اون Middleware بررسی بشن.
✅ مثال ساده: اعمال Middleware به گروه مسیرها
فرض کن میخوای همهی مسیرهای /dashboard فقط برای کاربرهای وارد شده (auth) در دسترس باشه:
🟢 در این حالت، هر سه مسیر فقط در صورتی در دسترس هستند که کاربر وارد شده باشد.
✅ چند Middleware با هم
اگه بخوای چند Middleware به گروهی از مسیرها بدی (مثلاً احراز هویت + بررسی نقش):
🔐 اینجا مسیرهای /admin/dashboard و /admin/users:
-
اول بررسی میشن که کاربر وارد شده باشه (
auth) -
بعد بررسی میشه که کاربر ادمین باشه (
is_admin)
✅ اعمال Middleware روی مسیرهای API
در routes/api.php هم میتونی این کارو انجام بدی:
در این حالت فقط کاربرهایی که با Sanctum لاگین کردهان به این مسیرها دسترسی دارن.
✅ مثال واقعیتر با Middleware سفارشی
فرض کنیم یک middleware به اسم check.plan ساختی که بررسی میکنه کاربر اشتراک فعال داره یا نه.
✅ خلاصه جدولوار
| عمل | کد نمونه |
|---|---|
| اعمال ۱ middleware | middleware('auth') |
| اعمال چند middleware | middleware(['auth', 'role']) |
| همراه با prefix | prefix('admin')->middleware(...) |
| مناسب برای API | در api.php با auth:sanctum یا auth:api |
اگه خواستی یه مثال عملی از middleware نقشها یا سطح دسترسی برای کاربران توی یه پروژه واقعی برات بسازم، فقط بگو 🌟