Kar*_*iga 0 php authentication laravel laravel-5.4
我正在使用laravel 5.4和auth进行登录,注册,密码重置功能,当我尝试重置密码时,一切正常,它发送电子邮件并更改密码,效果很好..更改新密码后,它将我重定向到首页,并且自动登录,但是我想要的是更改密码后将我重定向到登录页面,以便使用人员可以检查更改后的密码是否正常工作。
所以我的问题如何实现这个???
而我的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');
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试将$ redirect更改为登录变量时,它向我抛出一个页面无法正常工作的错误.....我只是处于混乱状态,请帮助我
小智 5
您需要在以下更改ResetPasswordController位于app/Http/Controllers/Auth.
将重定向路径更改为您的登录页面。
protected $redirectTo = '/login';
Run Code Online (Sandbox Code Playgroud)
覆盖resetPassword方法以防止用户登录。将其添加到控制器。
protected function resetPassword($user, $password)
{
$user->forceFill([
'password' => bcrypt($password),
'remember_token' => Str::random(60),
])->save();
}
Run Code Online (Sandbox Code Playgroud)
use Illuminate\Support\Str;在顶部使用。
要发送有关重定向的自定义响应,您可以sendResetResponse在控制器中覆盖并添加任何自定义会话/闪存消息。默认情况下,laravel会在成功重置密码后设置自己的响应。
protected function sendResetResponse($response)
{
return redirect($this->redirectPath())
->with('status', trans($response));
}
Run Code Online (Sandbox Code Playgroud)