2016-10-27 22:56:18 4582次浏览 2条回答 0 悬赏 20 金钱

各位高手:
本人最近在开发中遇到一个问题,就是如果我用www.test.com的域名进行用户登录的话,是可以正常登录并且生成对应的cookie,但是我页面如果改成au.test.com的时候,我也想生成一个对应的用户cookie,我的代码是这么处理的:
if(isset(Yii::$app->user->identity->username)){

        if(trim(Yii::$app->user->identity->username)){

            if(!Yii::$app->request->cookies->getValue('login_name')){

                $cookie = new \yii\web\Cookie([
                    'name' => 'login_name',
                    'value' => Yii::$app->user->identity->username,
                    'expire'=>time()+ 3600 * 24 * 30,
                ]);
                Yii::$app->getResponse()->getCookies()->add($cookie);

但是我用au.test.com的时候,却显示Yii::$app->user->identity->username为null,可是我之前在www.test.com已经进行用户登录了,为什么换成二级域名的时候Yii::$app->user->identity->username为null?谢谢各位的执教

  • 回答于 2016-10-28 09:18 举报

    设置cookie的domain为test.com,那么所有test.com下的子域名都可以共享cookie。

    觉得很赞
  • 回答于 2016-11-01 10:34 举报
            $cookies = Yii::$app->response->cookies;
            $cookies->add(new Cookie([
                'name' => 'cookie',
                'domain' => 'test.com,
                'value' => $val,
                'expire' => time() + self::EXPIRE_TIME
            ]));
    

    子域共享cookie

    1 条回复
    回复于 2019-07-06 11:45 回复

    您好,我设置了domian参数之后为什么cookie设置失败,取cookie也取不到是什么原因呢

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
azhuwc0914
试用期

azhuwc0914

注册时间:2016-03-23
最后登录:2016-12-29
在线时长:3小时33分
  • 粉丝1
  • 金钱15
  • 威望0
  • 积分45

热门问题