国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Yii2實(shí)現(xiàn)多域名跨域同步登錄退出

オリジナル 2017-02-20 11:50:02 637
サマリー:在平臺(tái)開發(fā)過程中,項(xiàng)目分為前臺(tái)(frontend)www.xxx.com和后臺(tái)(backend) yun.xxx.com兩部分,綁定兩個(gè)域名, 我們知道在沒有綁定域名的時(shí)候前后臺(tái)可以同步登錄和退出,但是綁定域名后就失效了,原因是session的作用域不同了。 兩個(gè)域名的session作用域都只限制在了自己的域名上,我們的解決辦法是將不同二級(jí)域名的作用域都改成頂級(jí)域名xxx.com。在comm

在平臺(tái)開發(fā)過程中,項(xiàng)目分為前臺(tái)(frontend)www.xxx.com和后臺(tái)(backend) yun.xxx.com兩部分,綁定兩個(gè)域名, 我們知道在沒有綁定域名的時(shí)候前后臺(tái)可以同步登錄和退出,但是綁定域名后就失效了,原因是session的作用域不同了。 兩個(gè)域名的session作用域都只限制在了自己的域名上,我們的解決辦法是將不同二級(jí)域名的作用域都改成頂級(jí)域名xxx.com。

在common/config/main.PHP里面增加如下代碼:

//跨域session域名配置,獲取當(dāng)前主機(jī)名
$host_array = explode('.', $_SERVER["HTTP_HOST"]);
//針對(duì)com域名,獲取頂級(jí)域名
if (count($host_array) == 3) {
  define('DOMAIN', $host_array[1] . '.' . $host_array[2]);
}
//針對(duì)com.cn域名
elseif (count($host_array) == 4) {
  define('DOMAIN', $host_array[1] . '.' . $host_array[2]. '.' . $host_array[3]);
}
else{
  //echo "本系統(tǒng)不支持本地訪問,請(qǐng)配置域名";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,
    ],

通過上述配置后,多個(gè)二級(jí)域名間就可以實(shí)現(xiàn)同步登錄和退出了。

更多關(guān)于Yii2實(shí)現(xiàn)多域名跨域同步登錄退出請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其他文章!

手記を発表する

人気のある見出し語