Yii2实现多域名跨域同步登录退出


Posted in PHP onFebruary 04, 2017

在平台开发过程中,项目分为前台(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' => 'common\models\User', 
      'enableAutoLogin' => true, 
      'identityCookie' => ['name' => '_identity', 'httpOnly' => true, 'domain' => '.' . DOMAIN], 
    ], 
    'session' => [ 
      'cookieParams' => ['domain' => '.' . DOMAIN, 'lifetime' => 0], 
      'timeout' => 3600, 
    ],

通过上述配置后,多个二级域名间就可以实现同步登录和退出了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 PHP
php页面缓存ob系列函数介绍
Oct 18 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 #PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 #PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 #PHP
关于PHP内置的字符串处理函数详解
Feb 04 #PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 #PHP
浅谈PHP中的错误处理和异常处理
Feb 04 #PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 #PHP
You might like
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
js三种排序算法分享
2012/08/16 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python自定义线程类简单示例
2018/03/23 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
Python IDLE清空窗口的实例
2018/06/25 Python
python递归全排列实现方法
2018/08/18 Python
详解python的四种内置数据结构
2019/03/19 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
服装发布会策划方案
2014/05/22 职场文书
跳槽求职信范文
2014/05/26 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
领导工作表现评语
2015/01/04 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
琅琊山导游词
2015/02/05 职场文书
党校学习个人总结
2015/02/15 职场文书
Python OpenCV实现图像模板匹配详解
2022/04/07 Python