我有一个有效的密码重置过程,有以下路线:
Route::group(['middleware' => [], 'namespace' => 'Auth'], function () {
Route::get('/password/reset/{token?}', ['as' => 'site.password.showResetForm', 'uses' => 'PasswordController@showResetForm']);
Route::post('/password/email', ['as' => 'site.password.sendResetLinkEmail', 'uses' => 'PasswordController@postEmail']);
Route::post('/password/reset', ['as' => 'site.password.reset', 'uses' => 'PasswordController@reset']);
});
Run Code Online (Sandbox Code Playgroud)
如果有人当前已经登录到计算机上,就会出现我的问题。在这种情况下,当用户单击电子邮件中的链接时,PasswordController@showResetForm 永远不会执行,并且他们的主页会在新选项卡中打开。有没有办法强制当前用户注销以便密码重置可以继续?
呼叫Auth::logout();您的一名控制器。
如果showResetForm由于用户登录而从未显示,您将需要创建一个临时页面,在其中调用上述函数,然后重定向到密码重置页面:
public function do_password_reset()
{
Auth::logout();
return redirect()->route('PasswordController@showResetForm');
}
Run Code Online (Sandbox Code Playgroud)
(记得添加该功能的相关路由。)
| 归档时间: |
|
| 查看次数: |
4315 次 |
| 最近记录: |