laravel - laravel 升级到 5.2
问题描述
我正在将 Laravel 从 5.1 升级到 5.2,我的 auth.php
return [
/*
|--------------------------------------------------------------------------
| Default Authentication Driver
|--------------------------------------------------------------------------
|
| This option controls the authentication driver that will be utilized.
| This driver manages the retrieval and authentication of the users
| attempting to get access to protected areas of your application.
|
| Supported: "database", "eloquent"
|
*/
'driver' => 'eloquent',
/*
|--------------------------------------------------------------------------
| Authentication Model
|--------------------------------------------------------------------------
|
| When using the "Eloquent" authentication driver, we need to know which
| Eloquent model should be used to retrieve your users. Of course, it
| is often just the "User" model but you may use whatever you like.
|
*/
'model' => App\Models\User::class,
/*
|--------------------------------------------------------------------------
| Authentication Table
|--------------------------------------------------------------------------
|
| When using the "Database" authentication driver, we need to know which
| table should be used to retrieve your users. We have chosen a basic
| default value but you may easily change it to any table you like.
|
*/
'table' => 'users',
/*
|--------------------------------------------------------------------------
| Password Reset Settings
|--------------------------------------------------------------------------
|
| Here you may set the options for resetting passwords including the view
| that is your password reset e-mail. You can also set the name of the
| table that maintains all of the reset tokens for your application.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'password' => [
'email' => 'emails.password',
'table' => 'password_resets',
'expire' => 60,
],
];
新更新的外观应该如何。该文档有一个用于 laravel 5.2 的 auth.php 示例,但我不确定我应该在文件中留下什么以及应该修改什么。当我尝试登录我的应用程序时,我得到 Auth guard [web] 未定义。
解决方案
您应该用this替换整个配置文件,然后根据您的旧配置文件将选项更改为所需的值。
根据您在此处发布的内容,您唯一需要更改的是用户提供者:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class, // Changed from App\User::class
],
],
密码重置邮件的查看路径:
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'emails.password', // Changed from auth.emails.password
'table' => 'password_resets',
'expire' => 60,
],
],
尽管将邮件视图移动到 Laravel 建议的新默认位置可能是一个更好的主意:auth.emails.password
使用新副本更新文件后,根据旧配置文件将身份验证配置选项设置为所需的值。如果你使用的是 Laravel 5.1 中典型的、基于 Eloquent 的身份验证服务,大多数值应该保持不变。
特别注意新 auth.php 配置文件中的 passwords.users.email 配置选项,并验证视图路径是否与应用程序的实际视图路径匹配,因为该视图的默认路径在 Laravel 5.2 中已更改。如果新配置文件中的默认值与您现有的视图不匹配,请更新配置选项。
推荐阅读
- python - Django:HTML中的自动编号
- reactjs - 反应站点地图.xml
- c++ - 在 ARM / Raspberry PI 上的多个内核上运行 Eigen 密集矩阵乘法时性能下降
- ruamel.yaml - 使用 ruamel yaml 保留 YAML 的结构
- python - 带有 macOS Big Sur 11.2.1 的苹果 m1 安装软件失败,出现终止错误
- google-apps-script - 谷歌驱动评论,下一个 PageToken 和登录到谷歌表
- amazon-web-services - AWS Amplify 中的应用程序设置下不存在监控选项
- python - 使用 AWS lambda 连接到 SQL Server 时出错
- c++ - 错误:无法为 A 合成构造函数
- laravel - 使用 Laravel 查询构建器的“何时”方法时,你真的需要返回吗?