我需要在我的应用中创建名为' master'的超级中间件。所以我制作了中间件' IsMaster' :
<?php
namespace App\Http\Middleware;
use Closure;
class IsMaster
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (\Auth::user() && \Auth::user()->admin == 101) {
return $next($request);
}
return redirect('/auth/logout');
}
}
因此,您可以从上面的代码中看到&#39; admin&#39;我的用户中的字段&#39; table的值为101,即MASTER用户。
现在我将其添加到Kernel.php:
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'admin' => \App\Http\Middleware\IsAdmin::class,
'master' => \App\Http\Middleware\IsMaster::class,
];
现在在AdminController.php我使用它:
class AdminController extends Controller
{
public function __construct() {
$this->middleware('master', ['except' => ['getMail']]);
}
...
当我尝试使用主用户帐户登录时出现错误:
Container.php第741行中的ReflectionException:类主服务器没有 存在
这里有什么问题?我真的不知道是什么造成了这些问题......
我也尝试:php artisan config:clear,php artisan cache:clear ...
答案 0 :(得分:1)
只是为了将其标记为答案。
composer dumpautoload