国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

YII2自動登錄Cookie失效問題解決

avwu / 539人閱讀

摘要:最近做自動登錄功能,發現即使開啟了的自動登錄配置功能,瀏覽器關閉后,再次打開瀏覽器還是處于非登錄狀態。查詢登錄源碼打印變量發現內容沒有任何問題。復制代碼去其他控制器執行也是毫無問題。

最近做Yii2自動登錄功能,發現即使開啟了Yii2的自動登錄配置功能,瀏覽器關閉后,再次打開瀏覽器還是處于非登錄狀態。

網上查詢資料基本沒有相同情況。

查詢登錄源碼:

protected function sendIdentityCookie($identity, $duration)
{
    $cookie = new Cookie($this->identityCookie);
    $cookie->value = json_encode([
        $identity->getId(),
        $identity->getAuthKey(),
        $duration,
    ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
    $cookie->expire = time() + $duration;
    Yii::$app->getResponse()->getCookies()->add($cookie);
}

打印cookie變量發現內容沒有任何問題。復制代碼去其他控制器執行也是毫無問題。

查看瀏覽器,Yii2設置的sessionID也是正常的,也就是cookie只是這里設置不成功。

既然,系統沒問題,瀏覽器沒問題,那么就是傳輸過程有問題。

后來終于發現:原來在調用$model->login()登錄方法過后,我直接輸出json數據到瀏覽器,并且在后面有exit方法,直接阻止了控制器繼續執行。

所以,yii2執行到exit處就完了,導致頭信息header也沒有被傳輸到瀏覽器。所以瀏覽器根本沒有收到php設置cookie的命令。

總結Yii2登錄或者需要設置cookie的控制器,千萬不要exit or die,直接使用if else去判斷,不要打斷執行。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22532.html

相關文章

  • web登錄分析(簡單登錄與單點登錄

    摘要:系統從認證中心得到校驗成功的結果后,則可以認為用戶已登錄。認證中心發現用戶未登錄沒有,將用戶引導至登錄界面。用戶提交登錄信息到認證中心。 簡單登錄 登錄流程 首先讓我們分析一下一個簡單的登錄是怎么實現的。 一個簡單的登錄流程 用戶輸入url訪問站點,接受用戶請求后判斷用戶是否已經登錄,若未登錄則跳轉到登錄頁面 用戶訪問登錄頁面,填寫并提交登錄表單 web應用對登錄表單進行驗證,若...

    jasperyang 評論0 收藏0
  • yii2中session跨域名的問題

    摘要:可是,我們的域名有這三個域名僅僅是不同的環境,因此,的跨域名訪問就引出來了。無論是一二級域名,和不同域名下的跨域,無非要達到兩點客戶端訪問同一個所有域名對應的服務器訪問的的數據的位置必須一致。 關閉httponly引起的問題 場景1: 測試A:咦,為什么test環境登錄不了呢? 程序員:清緩存。 測試B:握草,dev也登錄不了。。。誰看看! 程序員:清緩存。 測試們:。。。唉 場景...

    rollback 評論0 收藏0
  • 進一步優化Yii2跨域的SSO登錄

    摘要:序言本文主要是對關于如何實現跨域的登錄的解析的改進,因為在那篇文章中我已經寫出了登錄的基本實現過程,現在是進一步優化。實現永久登錄狀態。只要不點擊退出登錄,就一直保持著登錄狀態。存在時,提交表單判斷修改的過期時間,設置到極大值。 序言 本文主要是對關于Yii2如何實現跨域的SSO登錄的解析的改進,因為在那篇文章中我已經寫出了SSO登錄的基本實現過程,現在是進一步優化。主要優化的部分有兩...

    羅志環 評論0 收藏0
  • 你真的了解 Cookie 和 Session 嗎

    摘要:瀏覽器的同源策略把跨域請求都禁止了,但是頁面中的標簽是例外,不受同源策略限制。的理念就是,與服務端約定好一個回調函數名,服務端接收到請求后,將返回一段,在這段代碼中調用了約定好的回調函數,并且將數據作為參數進行傳遞。我在做面試官的時候,曾經問過很多朋友這個問題: Cookie 和 Session 有什么區別呢?大部分的面試者應該都可以說上一兩句,比如:什么是 Cookie?什么是 Sessi...

    lijy91 評論0 收藏0
  • 前后端分離下的CAS跨域流程分析

    摘要:這種情況通常發生在反向代理的時候,前端發起請求代理服務器,代理服務器發起請求到,這時候就容易導致域名不一致,請一定要注意這點。 寫在最前 前后端分離其實有兩類: 開發階段使用dev-server,生產階段是打包成靜態文件整個放入后端項目中。 開發階段使用dev-server,生產階段是打包成靜態文件放入單獨的靜態資源服務器中,如nginx。 這兩種方案最大的區別就是生產階段。由于第...

    ckllj 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<