成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

YII2自動(dòng)登錄Cookie失效問題解決

avwu / 550人閱讀

摘要:最近做自動(dòng)登錄功能,發(fā)現(xiàn)即使開啟了的自動(dòng)登錄配置功能,瀏覽器關(guān)閉后,再次打開瀏覽器還是處于非登錄狀態(tài)。查詢登錄源碼打印變量發(fā)現(xiàn)內(nèi)容沒有任何問題。復(fù)制代碼去其他控制器執(zhí)行也是毫無問題。

最近做Yii2自動(dòng)登錄功能,發(fā)現(xiàn)即使開啟了Yii2的自動(dòng)登錄配置功能,瀏覽器關(guān)閉后,再次打開瀏覽器還是處于非登錄狀態(tài)。

網(wǎng)上查詢資料基本沒有相同情況。

查詢登錄源碼:

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變量發(fā)現(xiàn)內(nèi)容沒有任何問題。復(fù)制代碼去其他控制器執(zhí)行也是毫無問題。

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

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

后來終于發(fā)現(xiàn):原來在調(diào)用$model->login()登錄方法過后,我直接輸出json數(shù)據(jù)到瀏覽器,并且在后面有exit方法,直接阻止了控制器繼續(xù)執(zhí)行。

所以,yii2執(zhí)行到exit處就完了,導(dǎo)致頭信息header也沒有被傳輸?shù)綖g覽器。所以瀏覽器根本沒有收到php設(shè)置cookie的命令。

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22532.html

相關(guān)文章

  • web登錄分析(簡(jiǎn)單登錄與單點(diǎn)登錄

    摘要:系統(tǒng)從認(rèn)證中心得到校驗(yàn)成功的結(jié)果后,則可以認(rèn)為用戶已登錄。認(rèn)證中心發(fā)現(xiàn)用戶未登錄沒有,將用戶引導(dǎo)至登錄界面。用戶提交登錄信息到認(rèn)證中心。 簡(jiǎn)單登錄 登錄流程 首先讓我們分析一下一個(gè)簡(jiǎn)單的登錄是怎么實(shí)現(xiàn)的。 一個(gè)簡(jiǎn)單的登錄流程 用戶輸入url訪問站點(diǎn),接受用戶請(qǐng)求后判斷用戶是否已經(jīng)登錄,若未登錄則跳轉(zhuǎn)到登錄頁面 用戶訪問登錄頁面,填寫并提交登錄表單 web應(yīng)用對(duì)登錄表單進(jìn)行驗(yàn)證,若...

    jasperyang 評(píng)論0 收藏0
  • yii2中session跨域名的問題

    摘要:可是,我們的域名有這三個(gè)域名僅僅是不同的環(huán)境,因此,的跨域名訪問就引出來了。無論是一二級(jí)域名,和不同域名下的跨域,無非要達(dá)到兩點(diǎn)客戶端訪問同一個(gè)所有域名對(duì)應(yīng)的服務(wù)器訪問的的數(shù)據(jù)的位置必須一致。 關(guān)閉httponly引起的問題 場(chǎng)景1: 測(cè)試A:咦,為什么test環(huán)境登錄不了呢? 程序員:清緩存。 測(cè)試B:握草,dev也登錄不了。。。誰看看! 程序員:清緩存。 測(cè)試們:。。。唉 場(chǎng)景...

    rollback 評(píng)論0 收藏0
  • 進(jìn)一步優(yōu)化Yii2跨域的SSO登錄

    摘要:序言本文主要是對(duì)關(guān)于如何實(shí)現(xiàn)跨域的登錄的解析的改進(jìn),因?yàn)樵谀瞧恼轮形乙呀?jīng)寫出了登錄的基本實(shí)現(xiàn)過程,現(xiàn)在是進(jìn)一步優(yōu)化。實(shí)現(xiàn)永久登錄狀態(tài)。只要不點(diǎn)擊退出登錄,就一直保持著登錄狀態(tài)。存在時(shí),提交表單判斷修改的過期時(shí)間,設(shè)置到極大值。 序言 本文主要是對(duì)關(guān)于Yii2如何實(shí)現(xiàn)跨域的SSO登錄的解析的改進(jìn),因?yàn)樵谀瞧恼轮形乙呀?jīng)寫出了SSO登錄的基本實(shí)現(xiàn)過程,現(xiàn)在是進(jìn)一步優(yōu)化。主要優(yōu)化的部分有兩...

    羅志環(huán) 評(píng)論0 收藏0
  • 你真的了解 Cookie 和 Session 嗎

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

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

    摘要:這種情況通常發(fā)生在反向代理的時(shí)候,前端發(fā)起請(qǐng)求代理服務(wù)器,代理服務(wù)器發(fā)起請(qǐng)求到,這時(shí)候就容易導(dǎo)致域名不一致,請(qǐng)一定要注意這點(diǎn)。 寫在最前 前后端分離其實(shí)有兩類: 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件整個(gè)放入后端項(xiàng)目中。 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件放入單獨(dú)的靜態(tài)資源服務(wù)器中,如nginx。 這兩種方案最大的區(qū)別就是生產(chǎn)階段。由于第...

    ckllj 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<