【问题标题】:Password reset not working in Laravel 5.1 LTS密码重置在 Laravel 5.1 LTS 中不起作用
【发布时间】:2016-07-22 01:28:59
【问题描述】:

我正在使用 Laravel 5.1 LTS(之前按照说明从 4 升级)并尝试实现密码提醒。在我的路线中,我有

Route::controllers([
     'auth' => '\App\Http\Controllers\Auth\AuthController',
    'password' => '\App\Http\Controllers\Auth\PasswordController',
]);

但是,当我转到 http://localhost/password/reset 时,我得到以下信息:

NotFoundHttpException in ResetsPasswords.php line 67:

路由密码/重置存在:

| GET|HEAD                       | password/reset/{one?}/{two?}/{three?}/{four?}/{five?}  |                             | \App\Http\Controllers\Auth\PasswordController@getReset  

有什么想法吗?为什么需要令牌?我希望只显示重置表单。如果确实需要令牌,我应该传递什么令牌?

如果我传递一个随机字符串,例如密码/重置/123123123 我收到以下错误

Trying to get property of non-object (View: 
/Applications/XAMPP/xamppfiles/htdocs/myProject/resources/views/layout.blade.php) 

谢谢

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您似乎对密码重置功能的流程有点不理解。

    重置密码的过程涉及您首先向您的电子邮件地址请求重置令牌,然后在passwords_reset 表中生成一个令牌并通过电子邮件将其通过电子邮件发送给用户。

    然后他们使用令牌访问password/reset url;即http://localhost/password/reset/123tokenExample123

    password/reset url 需要一个令牌才能传递给它,otherwise you get the error 如果你不这样做,你已经找到了。

    首先去http://localhost/password/email请求token并创建它,然后访问http://localhost/password/reset/并输入最后创建的token来重置用户密码。

    【讨论】:

    • 我可能对 Laravel 5.2 教程感到困惑,该教程以稍微不同的方式重置密码。
    猜你喜欢
    • 2019-01-28
    • 2017-03-27
    • 2016-01-15
    • 2015-07-01
    • 1970-01-01
    • 2018-09-24
    • 2016-01-15
    • 2021-01-16
    • 2016-03-07
    相关资源
    最近更新 更多