身份验证(Authentication)
优质
小牛编辑
133浏览
2023-12-01
身份验证是识别用户凭据的过程。 在Web应用程序中,身份验证由会话管理,会话使用电子邮件或用户名和密码等输入参数进行用户识别。 如果这些参数匹配,则称用户被认证。
Command
Laravel使用以下命令创建表单以及执行身份验证的关联控制器 -
php artisan make:auth
此命令有助于成功创建身份验证脚手架,如以下屏幕截图所示 -
控制器(Controller)
用于认证过程的控制器是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');
}
}
因此,生成的脚手架应用程序创建登录页面和用于执行身份验证的注册页面。 它们如下所示 -
Login
注册(Registration)
手动验证用户
Laravel使用Authfaçade,它有助于手动验证用户身份。 它包括验证其电子邮件和密码的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');
}
}
}