具有 Laravel 5.2 身份验证的简单管理员用户
Simple Admin User with Laravel 5.2 Authentication
我已经设置了 Laravel 的内置身份验证功能,但它没有管理员。我一直在寻找方法来做到这一点,但许多教程似乎有点沉重。我想要一个简单、安全的解决方案,利用我已有的 table 用户。
我看过这个:https://laracasts.com/discuss/channels/laravel/user-admin-authentication
说明来自多个用户,有点难以理解。我已经为我的用户数据库设置了一个 "isAdmin" 列。我有一个管理员中间件,但我不确定如何从这里开始。
如果我不忘记任何东西,这应该足够了。
Kernel.php:
protected $routeMiddleware = [
//...
'isAdmin' => \App\Http\Middleware\IsAdminMiddleware::class,
];
IsAdminMiddleware:
public function handle($request, Closure $next)
{
if(!\Auth::user()->isAdmin){
return Redirect::route('index');
}
return $next($request);
}
routes.php:
Route::group(['middleware' => ['auth', 'isAdmin']], function () {
Route::get('/', 'AdminController@index')->name('admin.index');
Route::get('/add-user', 'AdminController@addUser')->name('admin.addUser');
});
偷懒方案,不推荐:
在你AdminController
中添加以下内容:
public function __construct(){
if(!\Auth::user()->isAdmin){
dd('Redirect user or whatever, this is where all but admin gets stucked');
}
}
我已经设置了 Laravel 的内置身份验证功能,但它没有管理员。我一直在寻找方法来做到这一点,但许多教程似乎有点沉重。我想要一个简单、安全的解决方案,利用我已有的 table 用户。
我看过这个:https://laracasts.com/discuss/channels/laravel/user-admin-authentication
说明来自多个用户,有点难以理解。我已经为我的用户数据库设置了一个 "isAdmin" 列。我有一个管理员中间件,但我不确定如何从这里开始。
如果我不忘记任何东西,这应该足够了。
Kernel.php:
protected $routeMiddleware = [
//...
'isAdmin' => \App\Http\Middleware\IsAdminMiddleware::class,
];
IsAdminMiddleware:
public function handle($request, Closure $next)
{
if(!\Auth::user()->isAdmin){
return Redirect::route('index');
}
return $next($request);
}
routes.php:
Route::group(['middleware' => ['auth', 'isAdmin']], function () {
Route::get('/', 'AdminController@index')->name('admin.index');
Route::get('/add-user', 'AdminController@addUser')->name('admin.addUser');
});
偷懒方案,不推荐:
在你AdminController
中添加以下内容:
public function __construct(){
if(!\Auth::user()->isAdmin){
dd('Redirect user or whatever, this is where all but admin gets stucked');
}
}