所以我有一个非常基本的 Laravel 登录脚本
$email = Input::get('email');
$password = Input::get('password');
if(Auth::attempt(array('Email'=>$email, 'password'=>$password), true)){
return Response::json(array('success' => true,'logged_in'=>Auth::check() ));
}
我正在使用有效的电子邮件和密码登录。我已将“logged_in”放入响应数组中作为测试,尝试后它返回 true。但是,响应中不会返回“laravel_session”cookie,并且后续调用不会看到用户已登录。这种情况仅发生在我的生产服务器上,我的本地环境和测试环境都可以正常工作。
另请注意,我注意到 Response::json 返回的是 text/html MIME 类型,而不是 application/json。我不确定是什么原因造成的,所以我只是将 jQuery.ajax dataType 设置为“json”来解决它。这也只发生在我的生产服务器上。我对此一无所知,非常感谢您的帮助。
在我的一个配置文件深处,有人(可能是我)在<?
PHP 文件的开头。这是在设置任何标头之前,因此不允许更改它们(意味着无法设置 cookie),因为数据已经写入输出流。因此,如果您正在寻找为什么会发生这种情况,请确保您进行了查找。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)