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 相关文章推荐
php session安全问题分析
Jun 24 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
php输出xml必须header的解决方法
Oct 17 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
PHP区块查询实现方法分析
May 12 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 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 中英文语言转换类
2011/09/07 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
js+css实现打字效果
2020/06/24 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
Python标准库笔记struct模块的使用
2018/02/22 Python
python 用下标截取字符串的实例
2018/12/25 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
国贸专业个人求职信分享
2013/12/04 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
服务行业口号
2014/06/11 职场文书
药品营销策划方案
2014/06/15 职场文书
美术学专业求职信
2014/07/23 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
2014年教研室工作总结
2014/12/06 职场文书
写景作文评语集锦
2014/12/25 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
少先队中队工作总结2015
2015/07/23 职场文书