我在登录后更改默认 LoginController
重定向时遇到问题,我得到了一个
Response.php 第 339 行中的 ErrorException:
header 不能包含多个 header ,检测到新行
我已经尝试了所有方法,但还是不行,代码是:
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 文档,方法比属性具有更高的优先级,因此我认为保留类属性是可以的。
而且,我已经检查过了,代码实际上已经达到了最后一个条件。
最佳答案
redirectTo 方法应该返回一个 url 路径,而不是重定向响应。
...
protected function redirectTo()
{
if(\Auth::user()->hasRole('copy')){
return '/copy/dashboardCopy';
}
}
...
关于php - Laravel 5.3 LoginController - 标题可能不包含多个标题,检测到新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42011025/