在本文中,我们将介绍Laravel 5.6中的多个身份验证。这里中的多个身份验证只是针对多个用户模型进行身份验证的过程。

在以下部分中,我们将演示Laravel的内置身份验证功能。更具体地说,我将向您展示如何验证管理员用户和普通用户。
第1步:Laravel设置
使用composer设置Laravel项目。
composer create-project --prefer-dist laravel/laravel project-name
第2步:数据库配置
打开.env文件并在文件中设置数据库凭据。
DB_DATABASE= database-name DB_USERNAME= root DB_PASSWORD= database-password
第3步:身份验证
要使用Laravel的内置身份验证系统进行注册和登录,只需运行以下命令:
php artisan make:auth
第4步:设置模型和迁移
为管理员Admin创建和设置模型和迁移:
php artisan make:model Admin -m
要为Admin设置模型,请转到app / Admin.php并使用以下代码更新代码:
/**
* Remove 'use Illuminate\Database\Eloquent\Model;'
*/
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Admin extends Authenticatable
{
use Notifiable;
// The authentication guard for admin
protected $guard = 'admin';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];要为Admin设置迁移表,请转到database / migration / *** _ create_admins_table.php并使用以下代码更新代码:
//
{
Schema::create('admins', function (Blueprint $table) {
$table->increments('id');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
//第5步:设置管理员控制器
要为Admin创建控制器,请运行以下命令:
php artisan make:controller AdminController
要设置控制器,请转到app / Http / Controllers / AdminController.php并使用以下代码更新代码:
class AdminController extends Controller{ /**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{ $this->middleware('auth:admin');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{ return view('admin');
}}第6步:为管理员用户设置登录控制器
要创建Login控制器,请运行以下命令:
php artisan make:controller Auth/AdminLoginController
要设置登录控制器,请转到app / Http / Controllers / Auth / AdminLoginController.php并使用以下代码更新代码:
use Illuminate\Http\Request;use App\Http\Controllers\Controller;use Illuminate\Foundation\Auth\AuthenticatesUsers;use Illuminate\Support\Facades\Auth;class AdminLoginController extends Controller{ /**
* Show the application’s login form.
*
* @return \Illuminate\Http\Response
*/
public function showLoginForm()
{ return view(’auth.admin-login’);
}
protected function guard(){ return Auth::guard('admin');
}
use AuthenticatesUsers; /**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/admin/dashboard'; /**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{ $this->middleware('guest:admin')->except('logout');
}}第7步:为普通用户设置登录控制器
要为普通用户设置登录控制器,请转到app / Http / Controllers / Auth / LoginController.php并使用以下代码更新代码:
///**
* Show the application's login form.
*
* @return \Illuminate\Http\Response
*/public function showLoginForm(){ return view('auth.login');}//第8步:为管理员设置登录视图
要为Admin创建和设置登录视图,请转到resources / views / auth /并创建一个新文件admin-login.blade.php。复制resources / views / auth / login.blade.php中的代码并粘贴到新文件中。
现在使用以下内容更新新文件:
//{{ __('Admin Login') }}










