Laravel 登录和注册:生成认证 2 个改进

预构建的身份验证控制器

Laravel 附带了几个预构建的身份验证控制器,它们位于 App\Http\Controllers\Auth 命名空间中。

  • RegisterController 处理新的用户注册
  • LoginController 处理身份验证
  • ForgotPasswordController 处理用于重置密码的电子邮件链接
  • ResetPasswordController 包含重置密码的逻辑

这些控制器中的每一个都使用一个特性来包含它们的必要方法。对于许多应用程序,您根本不需要修改这些控制器。

生成认证用的路由和视图

Laravel 提供了一种快速的方法,可以使用一个简单的命令来搭建认证所需的所有路由和视图:

php artisan make:auth

注: 从Laravel 6.0开始,需要先安装laravel/ui拓展包,命令为composer require laravel/ui,然后再运行php artisan ui vue --auth替换上面的php artisan make:auth。编译前端资源可以使用命令npm install && npm run dev.

此命令应该用于新应用程序,并将安装布局视图、注册和登录视图以及所有身份验证端点的路由。还将生成一个 HomeController 来处理应用程序仪表板的登录后请求。

如果应用程序不需要注册,可以通过删除新创建的 RegisterController 并修改路由声明来禁用它: Auth::routes(['register' => false]);

以上命令还将创建认证所需的所有视图,并将它们放在 resources/views/auth 目录中。

make:auth 命令还将创建一个包含应用程序基本布局的 resources/views/layouts 目录。所有这些视图都使用了 Bootstrap CSS 框架,但是你可以自由地定制它们。

数据库迁移

database/migrations/ 下的用户表和密码重置表如果还没有运行过迁移,那么执行以下命令:

php artisan migrate

认证

现在已经给认证的控制器设置好了路由和视图,你可以在应用中注册和认证新用户了!因为控制器已经默认包含了验证用户是否存在和保存用户到数据库中的认证逻辑(通过 traits 实现的),现在你已经可以在浏览器中访问应用了。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!