• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Laravel用户认证系统(基础介绍)

php 搞代码 4年前 (2022-01-21) 17次浏览 已收录 0个评论

这篇文章主要介绍了关于Laravel用户认证系统(基础介绍) ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

用户认证系统(基础介绍)

使用过Laravel的开发者都知道,Laravel自带了一个认证系统来提供基本的用户注册、登录、认证、找回密码,如果Auth系统里提供的基础功能不满足需求还可以很方便的在这些基础功能上进行扩展。这篇文章我们先来了解一下Laravel Auth系统的核心组件。

Auth系统的核心是由 Laravel 的认证组件的「看守器」和「提供器」组成。看守器定义了该如何认证每个请求中用户。例如,Laravel 自带的 session 看守器会使用 session 存储和 cookies 来维护状态。

下表列出了Laravel Auth系统的核心部件

名称 作用
Auth AuthManager的Facade
AuthManager Auth认证系统面向外部的接口,认证系统通过它向应用提供所有Auth用户认证相关的方法,而认证方法的具体实现细节由它代理的具体看守器(Guard)来完成。
Guard 看守器,定义了该如何认证每个请求中用户
User Provider 用户提供器,定义了如何从持久化的存储数据中检索用户

在本文中我们会详细介绍这些核心部件,然后在文章的最后更新每个部件的作用细节到上面给出的这个表中。

开始使用Auth系统

只需在新的 Laravel 应用上运行 php artisan make:authphp artisan migrate 命令就能够在项目里生成Auth系统需要的路由和视图以及数据表。

php artisan make:auth执行后会生成Auth认证系统需要的视图文件,此外还会在路由文件web.php中增加响应的路由:

Auth::routes();

Auth Facade文件中单独定义了routes这个静态方法

public static function routes(){    static::$app->make('router')->auth();}

本文来*源gaodai^.ma#com搞#代!码网
搞gaodaima代码

所以Auth具体的路由方法都定义在Illuminate\Routing\Routerauth方法中,关于如何找到Facade类代理的实际类可以翻看之前Facade源码分析的章节。

namespace Illuminate\Routing;class Router implements RegistrarContract, BindingRegistrar{    /**     * Register the typical authentication routes for an application.     *     * @return void     */    public function auth()    {        // Authentication Routes...        $this->get('login', 'Auth\LoginController@showLoginForm')->name('login');        $this->post('login', 'Auth\LoginController@login');        $this->post('logout', 'Auth\LoginController@logout')->name('logout');        // Registration Routes...        $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');        $this->post('register', 'Auth\RegisterController@register');        // Password Reset Routes...        $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');        $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');        $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');        $this->post('password/reset', 'Auth\ResetPasswordController@reset');    }}

auth方法里可以清晰的看到认证系统里提供的所有功能的路由URI以及对应的控制器和方法。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Laravel用户认证系统(基础介绍)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址