最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Yii2实现多域名跨域同步登录退出
时间:2022-06-24 14:58:45 编辑:袖梨 来源:一聚教程网
在平台开发过程中,项目分为前台(frontend)www.xxx.com和后台(backend) yun.xxx.com两部分,绑定两个域名, 我们知道在没有绑定域名的时候前后台可以同步登录和退出,但是绑定域名后就失效了,原因是session的作用域不同了。 两个域名的session作用域都只限制在了自己的域名上,我们的解决办法是将不同二级域名的作用域都改成顶级域名xxx.com。
在common/config/main.PHP里面增加如下代码:
| 代码如下 | 复制代码 |
|
//跨域session域名配置,获取当前主机名 $host_array=explode('.',$_SERVER["HTTP_HOST"]); //针对com域名,获取顶级域名 if(count($host_array) == 3) { define('DOMAIN',$host_array[1] .'.'.$host_array[2]); } //针对com.cn域名 elseif(count($host_array) == 4) { define('DOMAIN',$host_array[1] .'.'.$host_array[2].'.'.$host_array[3]); } else{ //echo "本系统不支持本地访问,请配置域名";exit; } define('DOMAIN_HOME','www.'. DOMAIN); define('DOMAIN_YUN','yun.'. DOMAIN); define('DOMAIN_API','api.'. DOMAIN); define('DOMAIN_EMAIL','mail.'. DOMAIN); define('DOMAIN_IMG','img.'. DOMAIN); | |
修改components部分,改变session作用域
| 代码如下 | 复制代码 |
|
'user'=> [ 'identityClass'=>'commonmodelsUser', 'enableAutoLogin'=> true, 'identityCookie'=> ['name'=>'_identity','httpOnly'=> true,'domain'=>'.'. DOMAIN], ], 'session'=> [ 'cookieParams'=> ['domain'=>'.'. DOMAIN,'lifetime'=> 0], 'timeout'=> 3600, ], | |
通过上述配置后,多个二级域名间就可以实现同步登录和退出了。
相关文章
- 抖音充值抖币官网直达-抖音充值抖币全流程详解 03-22
- 有什么好玩的枪战游戏手机版 2026火爆的枪战手游排行榜 03-22
- 艾尔登法环黑夜君临铁之眼主流玩法是什么 03-22
- 夸克网页版入口在哪-夸克浏览器2026官网最新地址 03-22
- 红色沙漠采石场任务完成攻略分享 03-22
- 漫蛙manwa2-免费漫画入口页 03-22