Laravel 5.6使用Auth及其数据库表-默认情况下为'users'。 我需要创建2个不同的用户-简单的用户和用户admin,因此他们每个人都将使用自己的Auth方法并连接到自己的数据库表。
例如:Auth :: user(); -与表“用户” 我需要创建另一个身份验证,例如Auth :: admin(); -使用表“ admin”
我该怎么做?也许复制并创建另一个Auth?
(我正在使用laravel的api和护照)。
我不需要在users表中创建新字段。我需要创建一个新表。
答案 0 :(得分:1)
您必须创建一个用于管理员身份验证的中间件。为此,请输入以下内容:
php artisan make:middleware Admin
这将创建一个名为Admin.php的中间件文件
在Kernel.php上注册中间件
'admin' => \App\Http\Middleware\Admin::class
将管理中间件添加到route.php文件中的路由
get('protected', ['middleware' => ['auth', 'admin'], function() {
return "this page requires that you be logged in and an Admin";
}]);
将isAdmin()方法添加到用户模型以检查其是否为admin。
public function isAdmin()
{
return $this->admin; // this looks for an admin column in your users table
}