Lumen 中的中间件身份验证 [未找到“身份验证”类]
Posted
技术标签:
【中文标题】Lumen 中的中间件身份验证 [未找到“身份验证”类]【英文标题】:Middleware Auth in Lumen [ Class 'Auth' not found ] 【发布时间】:2017-06-14 03:11:21 【问题描述】:我正在使用 Lumen 5.2(由 Laravel 提供)
我弄错了: 致命错误:第 10 行的 C:\wamp64\www\project\app\Http\Middleware\AuthToken.php 中未找到“Auth”类
bootstrap/app.php
$app->routeMiddleware([
'auth' => App\Http\Middleware\AuthToken::class,
]);
中间件/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,
]);
我只是未经授权。
【问题讨论】:
【参考方案1】:在Middleware/AuthToken.php
中像这样导入Auth
类:
use Illuminate\Support\Facades\Auth;
这里要使用Auth Facade
,所以需要导入。
【讨论】:
我应该启用 $app->withFacades();在 app.php 中? 我确实启用了,我在 RegistersExceptionHandlers.php 第 32 行得到了 HttpException: 是的,您应该启用。 也许您没有登录用户? 我有一个用户已经直接到管理员/仪表板,但我如何启用会话【参考方案2】: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
【讨论】:
以上是关于Lumen 中的中间件身份验证 [未找到“身份验证”类]的主要内容,如果未能解决你的问题,请参考以下文章