2017-06-15 8 views
0

私はlaravel 5.4を使用してログイン、登録、パスワードリセット機能を使用しています。パスワードをリセットしようとするとうまくいきます。新しいパスワードはホームページにリダイレクトされ、自動的にログインしますが、変更後はパスワードがログインページにリダイレクトされるので、変更されたパスワードが正しいかどうかを確認できます。laravelのパスワードをリセットした後にログインページにリダイレクト

私の質問これを達成する方法???私はそれが私のページが機能していないというエラーがスローログインとして$変数にリダイレクト変更しようとすると

と私ResetPasswordControllerはhelpme私は混乱した状態にしています.....

<?php 

namespace App\Http\Controllers\Auth; 

use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\ResetsPasswords; 

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 = '/'; 

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

てくださいです

答えて

0

からあなたはapp/Http/Controllers/Auth.

変更ログインページへのリダイレクトパスに位置ResetPasswordControllerで次のように変更する必要があります。

protected $redirectTo = '/login'; 

ユーザーがログインしないようにresetPasswordメソッドをオーバーライドします。これをコントローラに追加します。

protected function resetPassword($user, $password) 
{ 
    $user->forceFill([ 
     'password' => bcrypt($password), 
     'remember_token' => Str::random(60), 
    ])->save(); 
} 

先頭にuse Illuminate\Support\Str;を使用してください。

リダイレクトでカスタムレスポンスを送信するには、コントローラ内のsendResetResponseをオーバーライドし、カスタムセッション/フラッシュメッセージを追加します。デフォルトでは、laravelはパスワードリセットが成功したときにそれ自身の応答を設定します。

protected function sendResetResponse($response) 
{ 
    return redirect($this->redirectPath()) 
         ->with('status', trans($response)); 
} 
関連する問題