在 Laravel 5.1 中创建 superAdmin 中间件
Create superAdmin middleware in Laravel 5.1
我需要在名为 'master' 的应用程序中创建 SuperAdmin 中间件,所以我制作了中间件 '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');
}
}
所以你可以从上面的代码中看到,如果我的 'users' table 中的 'admin' 字段的值为 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']]);
}
...
当我尝试使用主用户帐户登录时出现错误:
ReflectionException in Container.php line 741: Class master does not
exist
这里有什么问题?我真的不明白是什么导致了问题...
我也试试:php artisan config:clear, php artisan cache:clear ...
只是为了标记为答案。
作曲家转储自动加载
我需要在名为 'master' 的应用程序中创建 SuperAdmin 中间件,所以我制作了中间件 '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');
}
}
所以你可以从上面的代码中看到,如果我的 'users' table 中的 'admin' 字段的值为 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']]);
}
...
当我尝试使用主用户帐户登录时出现错误:
ReflectionException in Container.php line 741: Class master does not exist
这里有什么问题?我真的不明白是什么导致了问题...
我也试试:php artisan config:clear, php artisan cache:clear ...
只是为了标记为答案。
作曲家转储自动加载