php - Laravel 5.3 LoginController - 标题可能不包含多个标题,检测到新行

标签 php redirect authentication laravel-5.3

我在登录后更改默认 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/

相关文章:

.htaccess - htaccess 重定向追加查询字符串?

bash - 此重定向 ">>& <filename>"在 Korn shell 中是否有效?

php - laravel 5.4 auth注册自定义错误消息

php - Magento:什么是空的 EAV 安装类?

Php Mysql 调用在其他 html 元素之后呈现?

javascript - onLoad 点击函数 - 随机

apache - .htaccess 中的通配符

php - 在 PHP 中循环遍历嵌套数组

用于 X.509 客户端身份验证的 Apache + mod_ssl 中间 CA 自动发现

authentication - cUrls 的选项 "-u"