尝试以管理员身份登录,但我无法登录

时间:2018-04-28 01:03:29

标签: laravel

我创建了管理员登录信息,但无法登录。 我已经在数据库中执行了管理表,管理员的守卫和我在控制器和我的模型上设置了所有内容,但我无法登录。

这是我的控制器

{
    "data": [

        {
            "id": 1,
            "email_address": test@gmail.com,
            "authenticated": true,
            "type": sso,
            "timestamp": 436543678572,
            "last_login": 436543678572,
            "session_expires": 436543678572
        },
    ],
}

1 个答案:

答案 0 :(得分:1)

首先在User表中添加列角色 然后你需要使用命令

制作中间件
  

php artisan make:中间件管理员

这会在app / Http / Middleware目录中创建一个名为Admin.php的文件,该文件看起来像

<?php namespace App\Http\Middleware;

use Closure;
use Auth;
class Admin {

   public function handle($request, Closure $next)
   {

      if ( Auth::check() && Auth::user()->role==='admin')
      {
        return $next($request);
      }

      return redirect('home');

   }

}

然后,您需要将管理中间件添加到您的app / Http / Kernel.php文件

protected $routeMiddleware = [
    //
   'admin' => 'App\Http\Middleware\Admin', // this line right here
];

将管理中间件添加到路由中。 (在routes.php文件中)。

Route::get('/admin,function(){

 //statement
})->middleware('auth','admin');