Während des Plattformentwicklungsprozesses ist das Projekt in zwei Teile unterteilt: Frontend (Frontend) www.xxx.com und Backend (Backend) yun.xxx.com. Wir wissen, dass der Domainname gebunden ist ist nicht gebunden, das Frontend Der Hintergrund kann sich synchron an- und abmelden, ist jedoch nach der Bindung des Domänennamens ungültig. Der Grund dafür ist, dass der Sitzungsbereich unterschiedlich ist. Der Sitzungsbereich der beiden Domänennamen ist nur auf ihre eigenen Domänennamen beschränkt. Unsere Lösung besteht darin, die Bereiche verschiedener Domänennamen der zweiten Ebene in den Domänennamen der obersten Ebene xxx.com zu ändern.
Fügen Sie den folgenden Code in common/config/main.PHP hinzu:
//跨域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);
Ändern Sie den Abschnitt „Komponenten“ und ändern Sie den Sitzungsbereich
'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '_identity', 'httpOnly' => true, 'domain' => '.' . DOMAIN], ], 'session' => [ 'cookieParams' => ['domain' => '.' . DOMAIN, 'lifetime' => 0], 'timeout' => 3600, ],
Durch Nach der Konfiguration können mehrere Domänennamen der zweiten Ebene gleichzeitig an- und abgemeldet werden.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.
Weitere Artikel zur Implementierung der domänenübergreifenden synchronen An- und Abmeldung in mehreren Domänen durch Yii2 finden Sie auf der chinesischen PHP-Website!