محمد رضا وحدت
10 ماه پیش توسط محمد رضا وحدت مطرح شد
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 اگه دارید پیشنهاد کنید.
ممنون.


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 10 ماه پیش مطرح شد
0

درود خوبی...
بهتره روش زیر را بکار بگیرید:
https://martinbean.dev/blog/2021/07/29/simple-role-based-authentication-laravel/


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

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