2017-01-28 5 views
0

Я использую Lumen 5.2 (по Laravel)Middleware Auth в люменах [Класс 'Auth' не найден]

я получаю это неправильно: Фатальная ошибка: Class 'Auth' не найден в C: \ wamp64 \ WWW \ проект \ приложение \ Http \ Middleware \ AuthToken.php на линии 10

самозагрузки/app.php

$app->routeMiddleware([ 
    'auth' => App\Http\Middleware\AuthToken::class, 
]); 

Middleware/AuthToken.php

namespace App\Http\Middleware; 
use Closure; 
use Auth; 

class AuthToken 
{ 
    public function handle($request, Closure $next) 
    { 
     if(Auth::check()){ 
      return $next($request); 
     }else{ 
      abort(401); 
     } 
    } 
} 

UserController.php

использование Авт;

public function login(Request $request){ 
    if ($request->has('password')) { 
     $user = User:: where("user_password", "=", $request->input('password'))->first(); 
     if ($user) { 
      $token=str_random(60); 
      $user->api_token=$token; 
      $user->save(); 

      return redirect('admin/dashboard'); 
     } 
} 

routes.php

/* ADMIN */ 

$app->get('/admin', function() use ($app) { 
    return $app->make('view')->make('admin.login'); 
}); 

$app->group(['prefix' => 'admin', 'middleware' => 'auth'], function() use ($app){ 

    $app->get('dashboard', function() use ($app) { 
     return $app->make('view')->make('admin.dashboard'); 
    }); 

}); 

, как я могу войти Что проблема?

редактировать: я пробовал

$app->routeMiddleware([ 
    'auth' => App\Http\Middleware\Authenticate::class, 
]); 

Я получаю только Несанкционированное.

ответ

0

В Middleware/AuthToken.php импортировать Auth класс как это:

use Illuminate\Support\Facades\Auth; 

То, что вы хотите здесь использовать Auth Facade, так что вам нужно импортировать его.

+0

Если я включен $ app-> withFacades(); в app.php? – mak

+0

Я включил, и я получаю HttpException в строке RegistersExceptionHandlers.php 32: – mak

+0

Да, вы должны включить. –

0
namespace App\Http\Middleware; 
use Closure; 
use Illuminate\Support\Facades\Auth; 

class AuthToken 
{ 
    public function handle($request, Closure $next) 
    { 
     if(Auth::check()){ 
      return $next($request); 
     }else{ 
      abort(401); //works here 
     } 
    } 
} 

error

Смежные вопросы