在.env文件中配置好数据库连接后,执行php artisan make:auth
和php artisan migrate
命令就可以搭建好整个认证系统的脚手架。
之后会在resources/views/auth文件夹下生成相应的登录,注册,找回密码等样板文件。
同时在路由文件web.php中也增加了如下代码:
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Auth::routes()
路由在vender/laravel/framework/src/Illuminate/Routing/Router.php文件里面。(如何你找不到,可以查找一下‘auth’关键字)
laravel几乎将所有东西都已经配置好了,配置文件位于config/auth.php
,其中包含了用于调整认证服务行为的、标注好注释的选项配置。在其核心代码中,laravel的认证组件由guards和providers组成。
- guard定义了用户在每次请求中如何实现认证,例如,laravel通过session guard来维护session存储的状态和cookie。
- provider定义了如何从持久化存储中获取用户信息,laravel底层支持通过eloquent和数据库查询构造器两种方式来获取用户,如果需要的话你还可以定义额外的provider。
users数据表中必须含有nullable,100字符长的remember_token字段。当用户登陆应用并勾选‘记住我’时这个字段用来保存记住我session的令牌。