Events 从laravel事件触发重定向
在创建用户帐户时,我的用户表中有一个重置密码字段设置为“1”。当用户登录时,我检查此字段,如果在事件中设置为“1”。如果字段设置为“1”,我想从事件重定向 我试过:Events 从laravel事件触发重定向,events,redirect,laravel-5.1,Events,Redirect,Laravel 5.1,在创建用户帐户时,我的用户表中有一个重置密码字段设置为“1”。当用户登录时,我检查此字段,如果在事件中设置为“1”。如果字段设置为“1”,我想从事件重定向 我试过: return redirect()->路由('user/change_password') 在我的路由文件中,我设置了 Route::get('user/change_password','UserController@resetpasswordform'); 但这将返回以下错误: UrlGenerator.php第306行中的In
return redirect()->路由('user/change_password')代码>
在我的路由文件中,我设置了
Route::get('user/change_password','UserController@resetpasswordform');代码>
但这将返回以下错误:
UrlGenerator.php第306行中的InvalidArgumentException:未定义路由[用户/更改密码]
我也试过这个
return redirect()->action('UserController@resetpasswordform');代码>
但这只是忽略重定向并让用户登录。我设置了一个dd('hello')方法中的代码>,但这不起任何作用
我尝试过为经过身份验证的用户更改重定向,如果字段未设置为1,则遵循此重定向,但如果字段设置为1,则忽略此重定向
我不知道这个重定向所走的路线
非常感谢您的帮助
return redirect('/user/change_password);
这对我很有效,试试看。我将postLogin类复制到AuthController,然后直接复制到该方法
if (Auth::attempt($credentials, $request->has('remember'))) {
if(Auth::user()->reset_password=='1'){
return redirect()->action('UserController@resetpasswordform');
}
return $this->handleUserWasAuthenticated($request, $throttles);
}
不幸的是,这在事件中不起作用。我刚刚发现某个事件在后台运行,因此无法从该事件触发重定向。我必须在auth controller中运行检查,然后触发重定向。简单地说:覆盖使用laravel 5.3时在LoginController
/ResetController
中使用的特征+