Yii2 中实现单点登录

修改 /common/config/main.php

一、在 config 头部上加上以下代码


<?php
// Session 跨域
$host = explode('.', $_SERVER["HTTP_HOST"]);
if (count($host) > 2) {
    define('DOMAIN', $host[1] . '.' . $host[2]);
} else {
    define('DOMAIN', $host[0] . '.' . $host[1]);
}

二、在 config 的 components 配置中加入


<?php
'user' => [
    'identityClass' => 'common\models\User',
    'enableAutoLogin' => true,
    'identityCookie' => ['name' => '_identity', 'httpOnly' => true, 'domain' => '.'.DOMAIN],
],
'session' => [
    'cookieParams' => ['domain' => '.'.DOMAIN, 'lifetime' => 0],
    'timeout' => 3600,
],

三、controller 中使用


<?php
//设置
Yii::$app->session['var']='value';
//使用
echo Yii::$app->session['var'];
//移除
unset(Yii::$app->session['var']);

四、测试


4.1 www.aaa.com 登陆

4.2 www.bbb.com session 依然有效果。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,230评论 19 139
  • 在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session...
    dreamer_lk阅读 4,668评论 2 9
  • 简书第一篇文章,想了很久该用什么风格,半文半白还是全文?该写什么内容,该以什么心态,该让何种受众看到,毕竟需定一个...
    木匠01阅读 1,175评论 0 0
  • 玉蕊花异天下奇, 引动仙子下凡尘; 花如玉盘须尺长, 根根雪白若玉针; 花蕊金黄叶翠绿, 难得香飘十里闻; 传言花...
    王文英wwy阅读 3,604评论 0 1
  • 一年总在团聚的时节里,开始放肆的寂寞。无关乎悲喜,只是想让心斋戒几日。 寂寞是有模样的。是...
    是我我叫胡琴阅读 2,047评论 0 0

友情链接更多精彩内容