【发布时间】:2016-06-01 12:38:51
【问题描述】:
我正在 Laravel 5.2 中构建一个具有无状态 HTTP 基本身份验证的 API,根据文档 Stateless HTTP Basic Authentication ,我创建了以下中间件
app/Http/Middleware/AuthenticateOnceWithBasicAuth.php
<?php
namespace Illuminate\Auth\Middleware;
use Auth;
use Closure;
class AuthenticateOnceWithBasicAuth
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return Auth::onceBasic() ?: $next($request);
}
}
然后在Kernel.php中注册
app/Http/kernel.php
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'auth.basic.once' => \App\Http\Middleware\AuthenticateOnceWithBasicAuth::class,
];
我在路由中使用如下
Route::group(['prefix' => 'admin', 'middleware' => 'auth.basic.once'], function () {
Route::get('service/create', function () {
return response()->json(['name' => 'Abigail', 'state' => 'CA'], 200);
});
});
但它给了我
Container.php 第 734 行中的反射异常: 类 App\Http\Middleware\AuthenticateOnceWithBasicAuth 不存在
我已经运行了以下命令,但没有成功
composer dump-autoload
php artisan clear-compiled
php artisan optimize
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
在终端中,运行“composer dump-auto”和“php artisan clear-compiled”。那应该可以解决它。
-
@IllegalPigeon 已经试过了
标签: laravel laravel-5 laravel-5.1 laravel-5.2 middleware