Laravel 身份验证
身份验证是识别用户凭证的过程。在Web应用程序中,身份验证由会话管理,会话接收输入参数,如电子邮件或用户名和密码,用于用户标识。如果这些参数匹配,用户被称为已经过身份验证。
命令
Laravel使用以下命令创建表单和相关控制器来执行身份验证 –
php artisan make:auth
此命令成功创建身份验证脚手架,如下屏幕截图所示 −
控制器
用于身份验证过程的控制器是 HomeController 。
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
class HomeController extends Controller{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct() {
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index() {
return view('home');
}
}
作为结果,生成的脚手架应用程序创建了用于执行身份验证的登录页面和注册页面。它们如下所示:
注册
手动验证用户
Laravel 使用 Auth 门面来帮助手动验证用户。它包括 attempt 方法来验证他们的电子邮件和密码。
考虑以下 LoginController 的代码行,它包含了所有的身份验证功能。
<?php
// Authentication mechanism
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller{
/**
* Handling authentication request
*
* @return Response
*/
public function authenticate() {
if (Auth::attempt(['email' => email, 'password' =>password])) {
// Authentication passed...
return redirect()->intended('dashboard');
}
}
}