Laravel Класс промежуточного программного обеспечения 'App \ Http \ Middleware \ CheckAuth' не найден - PullRequest
0 голосов
/ 08 мая 2020

Итак, я пытаюсь использовать промежуточное ПО для аутентификации пользователей на нескольких страницах моего приложения, но получаю следующую ошибку:

Class 'App\Http\Middleware\CheckAuth' not found

Вот CheckAuth. php:

    <?php

namespace App\Http\Middleware;

use Closure;
use Auth;
use App\Http\Middleware\CheckAuth as Middleware;

class CheckAuth extends Middleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::user()->auth > 0) {
            return redirect()->route('dashboard');
        }

        return $next($request);
    }
}

и вот ядро. php:

protected $routeMiddleware = [
    ...
    'authenticated' => \App\Http\Middleware\CheckAuth::class
];

Когда я пытаюсь использовать промежуточное ПО (например, это ->middleware('authenticated');), я получаю сообщение об ошибке.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Удалите use App\Http\Middleware\CheckAuth as Middleware; вы находитесь в том же файле класса. вам не нужно использовать его снова.

Удалите эту строку из верхней части промежуточного программного обеспечения.

use App\Http\Middleware\CheckAuth as Middleware;

И вам не нужно также расширять это промежуточное программное обеспечение

Теперь ваш код выглядит, как показано ниже.

namespace App\Http\Middleware;

use Closure;
use Auth;

class CheckAuth 
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::user()->auth > 0) {
            return redirect()->route('dashboard');
        }

        return $next($request);
    }
}

Используйте команду для создания промежуточного программного обеспечения

 php artisan make:middleware CheckAuth 
0 голосов
/ 08 мая 2020
<?php

namespace App\Http\Middleware;

use Closure;
use Auth;


class CheckAuth 
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::user()->auth > 0) {
            return redirect()->route('dashboard');
        }

        return $next($request);
    }
}
...