محمد رضا وحدت
1 سال پیش توسط محمد رضا وحدت مطرح شد
1 پاسخ

استفاده از middleware در لاراول

سلام
ورژن 11 لاراول رو استفاده میکنم. همیشه مشکل پیدا نشدن کلاس رو داشتم. نمیخوام از ChatGPT کمک بگیرم. یه توضیح کامل میخوام.
کلاس(CheckRole) پیدا نمیشه.
web.php

    Route::middleware(CheckRole::class . ':Full Admin')->group(function () {
        Route::prefix('crm')->name('crm.')->group(function () {
            Route::get('/users', [CrmUserController::class, 'index'])->name('users.index');
            Route::get('/users/create', [CrmUserController::class, 'create'])->name('users.create');
            Route::post('/users', [CrmUserController::class, 'store'])->name('users.store');

Kernel.php

protected $middlewareAliases = [
..
'role' => \App\Http\Middleware\CheckRole::class,
namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class CheckRole
{
    public function handle(Request $request, Closure $next, ...$roles)
    {
        if (!Auth::check()) {
            return redirect('login');
        }

این مشکل برطرف نمیشه تا زمانی که از Trait استفاده میکنم ولی یکجا توی laracast خوندم که بدون استفاده از Trait هم میشه ولی نتونستم پیاده سازی کنم. راهکار دیگه ای به جز middleware اگه دارید پیشنهاد کنید.
ممنون.