我通过ajax请求在子域中遇到Auth :: check()问题.场景:2个子域
www.testing.dev api.testing.dev
这两个之间的单一登录/会话..在我设置的laravel config/session.php中'domain' => ".testing.dev"
,一切正常,我能够在一个页面登录并继续登录其他页面!
但是,当我使用ajax时,有一个问题..场景:进入api.testing.dev
,我用firebug,js执行任何操作
$.ajax({ url: 'http://api.testing.dev/who', type: 'GET', cache: false });
的api.stesting.dev/who
回报:
public function getWho(){ return var_dump( Auth::user() ); }
回复是我帐户的信息!全对了..
如果从www.testing.dev
i执行相同的ajax查询,我得到Auth :: check()返回null.虽然我得到正常的响应,所以跨域设置没有问题..这里是我的路由中的标题api.testing.dev
header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: OPTIONS, POST, GET, PUT, DELETE'); header('Access-Control-Allow-Headers: *'); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Credentials: true');
该网站在带有wamp的localhost中运行.
编辑:使用默认会话驱动程序'driver' => 'file'
,在初始登录后,在app/storage/sessions
一个文件中.如果我从一个子域转到另一个子域,则不会生成其他文件.虽然当我预先形成一个CORS ajax时,每次生成一个新文件时......