這篇文章主要介紹Yii2如何實現多域名跨域同步登錄退出,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在平臺開發過程中,項目分為前臺(frontend)www.xxx.com和后臺(backend) yun.xxx.com兩部分,綁定兩個域名, 我們知道在沒有綁定域名的時候前后臺可以同步登錄和退出,但是綁定域名后就失效了,原因是session的作用域不同了。 兩個域名的session作用域都只限制在了自己的域名上,我們的解決辦法是將不同二級域名的作用域都改成頂級域名xxx.com。
在common/config/main.PHP里面增加如下代碼:
//跨域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);
修改components部分,改變session作用域
'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '_identity', 'httpOnly' => true, 'domain' => '.' . DOMAIN], ], 'session' => [ 'cookieParams' => ['domain' => '.' . DOMAIN, 'lifetime' => 0], 'timeout' => 3600, ],
通過上述配置后,多個二級域名間就可以實現同步登錄和退出了。
以上是“Yii2如何實現多域名跨域同步登錄退出”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
新聞標題:Yii2如何實現多域名跨域同步登錄退出-創新互聯
URL分享:http://m.newbst.com/article4/dcshie.html
成都網站建設公司_創新互聯,為您提供動態網站、App開發、網站排名、網站建設、網站導航、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯