【问题标题】:Password reset laravel 5.7, route is defined密码重置 laravel 5.7,路由已定义
【发布时间】:2019-01-16 22:25:05
【问题描述】:

所以我在 laravel 5.7 及其密码重置方面遇到了一些问题。 (不知道为什么 Taylor 在您运行 php artisan make:auth 时没有将其包含在模板中

不过,请考虑以下几点:

|        | GET|HEAD | login                  | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest               |
|        | POST     | login                  |                  | App\Http\Controllers\Auth\LoginController@login                        | web,guest               |
|        | POST     | logout                 | logout           | App\Http\Controllers\Auth\LoginController@logout                       | web                     |
|        | POST     | password/email         | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest               |
|        | POST     | password/reset         | password.update  | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest               |
|        | GET|HEAD | password/reset         | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest               |
|        | GET|HEAD | password/reset/{token} | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest               |
|        | POST     | register               |                  | App\Http\Controllers\Auth\RegisterController@register                  | web,guest               |
|        | GET|HEAD | register               | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest               |

这些是我的身份验证路由,由 laravel 定义。没有变化,没有自定义。那么我如何链接到此重置 (password.reset) 路线?

<a class="dropdown-item" href="{{ route('password.reset', ['token' => app('auth.password.broker')->createToken(Auth::user())]) }}">Reset Password</a>

好的,那有什么问题?

NotFoundHttpException {#521 ▼
  -statusCode: 404
  -headers: []
  #message: ""
  #code: 0
  #file: "/Users/*****/Documents/****/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php"
  #line: 179
  trace: {▶}
}

本质上是 404。当您单击链接时,您将被重定向到 404 页面。这不应该发生。

密码重置错误怎么办?

这也是全新 laravel 设置中的默认设置。除了添加用于重置密码的链接之外,没有进行任何自定义。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    密码重置应该是以下链接:

    {{ route('password.request') }}
    

    复制自login.blade.php

    <a class="btn btn-link" href="{{ route('password.request') }}">
        {{ __('Forgot Your Password?') }}
    </a>
    

    password.reset 命名路由用于电子邮件通知。

    【讨论】:

    • 天哪,它在登录刀片中,我怎么没看到
    • @TheWebs 它发生在我们所有人身上 :) 如果有帮助,请考虑接受答案。
    猜你喜欢
    • 1970-01-01
    • 2014-07-24
    • 2015-11-16
    • 1970-01-01
    • 2021-05-24
    • 2019-04-24
    • 2018-09-24
    • 1970-01-01
    • 2020-08-16
    相关资源
    最近更新 更多