Yii2 realisiert die domänenübergreifende synchrone Anmeldung und Beendigung mehrerer Domänen

高洛峰
Freigeben: 2023-03-05 13:24:01
Original
1396 Leute haben es durchsucht

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);
Nach dem Login kopieren

Ä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, 
    ],
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!