zoukankan      html  css  js  c++  java
  • Yii2 框架下 session跨域共享互通

    在项目实施过程中,往往把一个大项目进行分拆成几个独立的项目,项目用完全独立的域名和文件,可以放到不同的服务器上的独立分项目。

    几个子项目共用一个登录点. 原理简单来说就是服务端session 共享, 客户端跨域cookies.

    在Yii2框架下只需要几部的配置就可以了:

    在几个子项目下,找到config文件下的配置文件main.php

    共同配置如下代码:

    $host = explode('.', $_SERVER["HTTP_HOST"]);
    if (count($host) > 2) {
        define('DOMAIN', $host[1] . '.' . $host[2]);
    } else {
        define('DOMAIN', $host[0] . '.' . $host[1]);
    }
    
    'components' => [
              'session' => [
                'cookieParams' => ['domain' => '.' . DOMAIN, 'lifetime' => 0],
                'timeout' => 3600 * 24 * 30
            ],
            'user' => [
                'identityClass' => 'commonmodelsUser',
                'enableAutoLogin' => true,
                'identityCookie' => ['name' => '_identity-common', 'httpOnly' => true,'domain' => '.' . DOMAIN],
            ],
    
    ]
    

     这里是应用在用户登录的情况,更多模式可自己探索。 

  • 相关阅读:
    shell中单引号、双引号、反斜杠简说
    shell脚本
    求素数
    SqlBulkCopy高效写入数据库Demo
    地图面面观之百望山
    FileUpload控件客户端验证
    如何将shapefile进行拆分
    Python 字符串操作
    如何重装oracle
    资料
  • 原文地址:https://www.cnblogs.com/jackzhuo/p/12377383.html
Copyright © 2011-2022 走看看