簡體   English   中英

Laravel 5.1中的密碼重置

[英]Password reset in Laravel 5.1

請告訴我如何在Laravel 5.1應用程序中實現密碼重置功能。 我正在使用JWT授予用戶訪問系統的權限。 請告訴我如何實現“忘記密碼”功能。 我的Web API被移動設備占用,當用戶了解他忘記了密碼時,用戶將按照以下步驟操作

1)在登錄屏幕中,用戶將單擊“忘記密碼”

2)在下一步中,用戶將輸入電子郵件地址並提交。

3)服務器端代碼將電子郵件與系統中注冊的所有電子郵件進行比較。 如果找到匹配項,則將重置密碼的鏈接(自毀)發送到該電子郵件地址。

4)用戶檢查他的電子郵件帳戶以找到鏈接並使用它來重置密碼。

現在,下面在用戶表中提供的代碼如下。

<?php

namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];


    public function events()
    {
        return $this->hasMany(Event::class);
    }


    public function request()
    {
        return $this->hasOne(Request::class);
    }
}

www.laravel.com/docs/5.1/authentication#resetting-passwords

有關詳細方法,請參見此處。

假設您尚未對laravel安裝進行任何修改。 這很容易做到。

用戶模型編輯

在應用程序\\用戶模型上實施“ Illuminate \\ Contracts \\ Auth \\ CanResetPassword”。

數據庫表遷移

在控制台上運行“ php artisan migration”命令。

路線

將這些路由添加到routes.php文件。

// Password reset link request routes...
Route::get('password/email', 'Auth\PasswordController@getEmail');
Route::post('password/email', 'Auth\PasswordController@postEmail');

// Password reset routes...
Route::get('password/reset/{token}', 'Auth\PasswordController@getReset');
Route::post('password/reset', 'Auth\PasswordController@postReset');

查看文件

轉到參考資料/視圖/身份驗證並創建兩個名為

password.blade.php和reset.blade.php

password.blade.php content =>“ http://pastebin.com/RkcFU130

reset.blade.php content =>“ http://pastebin.com/6E5Kjqc4

電郵檢視

現在在resources / views / emails / password.blade.php上創建一個名為password.blade.php的新文件。

將此粘貼到里面。

Click here to reset your password: {{ url('password/reset/'.$token) }}

重置后重定向

如果要將用戶重定向到特定的URL。 您可以將此代碼粘貼到Passwordcontroller.php。 將“儀表盤”替換為您需要重定向到的鏈接。

protected $redirectTo = '/dashboard';

就這樣 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM