更改默认的LoginController
登录后重定向时,我遇到了问题,出现了以下错误:
在Response.php的第339行发生ErrorException:
头部不能包含多个标头,检测到新行
我已经尝试了一切,但它仍然不起作用。代码如下:
class LoginController extends Controller
{
protected $redirectTo = '/home';
protected function redirectTo()
{
if (\Auth::check()) {
$user_id = \Auth::id();
$usuario = users::where('id','=',$user_id)->first();
if($usuario->hasRole('copy')){
return redirect('/copy/dashboardCopy');
}
}
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
根据 Laravel 文档,方法比属性具有更高的优先级,因此我认为将 class 属性保留不变应该是可以的。
而且,我已经检查过,代码实际上已经到达了最后一个条件。
return redirect('/copy/dashboardCopy');
,正如我所提到的,代码已经到达了那个部分... Laravel 没有说要检查其他地方 [https://laravel.com/docs/5.3/authentication#authentication-quickstart],它只是说要添加方法并执行您想要的逻辑。 - Aarón Gutiérrez