YII 多子域名同步登录

a.meylou.com和b.meylou.com不做登录。c.meylou.com这个专门做用户登录。c站登录之后a,b站点同时登录。

 

第一步:修改php.ini配置文件,把cookie_domain=改成“cookie_domain=meylou.com” 

第二部:修改各个站点的config 文件:components节点->user节点->加上'stateKeyPrefix'=>'你的前缀',最后大概是这样的:

1 'components'=>array(
2     'user' => array(
3     'allowAutoLogin' => true,
4     'stateKeyPrefix'=>'yourfix',
5     ),
6 )

第三部: 修改各个站点的config 文件:components节点加上statePersister节点,最后大概是这样的:

 

'components'=>array(
    'statePersister'=>array(
        'class'=>'system.base.CStatePersister',
        'stateFile'=>'/protected/runtime/state.bin',
    ),
),

OK了。解释下:

第一步,确保PHPSESSIDn能在各个二级域名下通用。这样SESSION就能共享了!

第二部,确保每个站点验证登录信息的时候用同样的前缀。

第三部,YII验证有一个state.bin保存了HASH,他要读取这个,把state.bin共用就好了!

posted @ 2013-07-26 16:19  jshaibozhong  阅读(667)  评论(0编辑  收藏  举报