【问题标题】:Laravel 5.5 password reset token form not appearingLaravel 5.5 密码重置令牌表单未出现
【发布时间】:2018-10-18 05:59:30
【问题描述】:

在 Laravel 5.5 项目中,我从密码重置表单提交电子邮件 id 后收到以下信息:

http://localhost/administrator/password/reset?41704c353d33830724d76eefa0702b47201d60fe9957552fdf96e29d7c2cc62a

但是,在浏览器中粘贴上述 URL 时,“laravel 日志”显示“local.INFO:无法找到页面”。而且我看到显示的是电子邮件提交表单,而不是密码和确认密码表单。

我的路线定义如下:

Route::group(['prefix' => 'administrator'], function() {
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.email');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset.token');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.reset');
});

我的ResetPasswordController.php如下;

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Model\User;
use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Illuminate\Support\Facades\Redirect;
use Hash;

class ResetPasswordController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Password Reset Controller
    |--------------------------------------------------------------------------
    |
    | This controller is responsible for handling password reset requests
    | and uses a simple trait to include this behavior. You're free to
    | explore this trait and override any methods you wish to tweak.
    |
    */

    use ResetsPasswords;

    /**
     * Where to redirect users after resetting their password.
     *
     * @var string
     */
    protected $redirectTo = '/administrator/password/reset';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }


     /**
     * METHOD TO RESET ADMIN PASSWORD
     */

}

【问题讨论】:

  • 确保您的路线中没有Auth::routes()
  • 不,我没有这个。
  • 你解决了吗?我有同样的问题。

标签: laravel laravel-5


【解决方案1】:

你必须根据情况调整路线。

    Route::group(['prefix' => 'administrator'], function() {

    Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset.token');
    Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.email');
    Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');

    Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.reset');
    });

password/reset/{token} 移到password/reset 上方

希望这会有所帮助。

【讨论】:

  • 在授权控制器中我需要写什么吗?
  • 也发布你的控制器
  • public function __construct() { $this-&gt;middleware('auth'); } 删除此行
  • 还有什么?
猜你喜欢
  • 2018-05-24
  • 1970-01-01
  • 2017-04-21
  • 2018-07-25
  • 2018-09-30
  • 2019-09-11
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
相关资源
最近更新 更多