php - 从 Laravel 5.2 升级到 5.3 时登录时方法 [用户名] 不存在

标签 php laravel laravel-5

在我最近将 Laravel 从 5.2 升级到 5.3 之后,我无法登录我的应用。

对于一个简单的登录,我收到: app/vendor/laravel/framework/src/Illuminate/Routing/Controller.php 第 82 行 中的 BadMethodCallException 消息:

Method [username] does not exist

我看到原因来自 ThrottlesLogins。如果我从我的 AuthController 中删除名为 ThrottlesLogins 的特征,它将起作用。

[username] 方法来自 ThrottlesLogins Trait at

protected function throttleKey(Request $request)
{
    return Str::lower($request->input($this->username())).'|'.$request->ip();
}

最佳答案

框架提供的两个默认身份验证 Controller 已拆分为四个较小的 Controller 。默认情况下,此更改提供更清晰、更集中的身份验证 Controller 。将您的应用程序升级到新的身份验证 Controller 的最简单方法是从 GitHub 获取每个 Controller 的新副本并将它们放入您的应用程序中。

您还应确保在 routes/web.php 文件中调用 Auth::routes() 方法。此方法将为新的身份验证 Controller 注册正确的路由。

将这些 Controller 放入您的应用程序后,您可能需要重新实现对这些 Controller 所做的任何自定义。例如,如果您正在自定义用于身份验证的身份验证守卫,您可能需要重写 Controller 的守卫方法。您可以检查每个身份验证 Controller 的特征以确定要覆盖哪些方法。

Upgrading laravel 5.2 to 5.3

关于php - 从 Laravel 5.2 升级到 5.3 时登录时方法 [用户名] 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46092810/

相关文章:

php - 如何按声誉和创建日期对集合进行排序

php - Action App\Http\Controllers\Controller@action 未定义

laravel - 预检响应中的 Access-Control-Allow-Headers 不允许请求头字段 X-CSRF-TOKEN

php - 在 laravel 5.5 中,此集合实例上不存在属性 [id]

php - 如何使用 jQuery AJAX 提交此表单?

php - 多少 CPU 使用率在 Linux 服务器上被认为是高的

PHP pear 没有定位 php 可执行文件

php - 我可以为不同的类别设置不同的颜色吗

javascript - Laravel 中的 SweetAlert 实现

Laravel 5 运行队列