2017-06-15 157 views
0

我使用laravel 5.4和auth来登录,注册,密码重置功能一切正常,当我尝试重置密码时,它发送一封电子邮件并更改密码工作良好。新的密码它重定向到我的主页,它会自动登录,但我想要的是更改密码后重定向到登录页面,以便使用可以检查更改的密码工作是否正确或不。在laravel重置密码后重定向到登录页面

所以我的问题如何实现这个?

和我ResetPasswordController是

<?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'); 
    } 
} 

当我尝试改变$重定向到变量登录扔给我,页面不能正常工作的错误.....我只是在混乱状态,请helpme出

回答

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)); 
}