2017-06-22 19 views
0

我對登錄表單下方的默認Laravel Remember Me選項有疑問。我使用默認的內置LoginController。 當我讀了Laravel文檔,然後我看了一下記住選項:Laravel:登錄有和沒有記住我選項之間的區別?

「這將無限期地驗證過的用戶,或直到他們 手動註銷」

確定。現在我做一個測試:

  • 我取消選中記住我複選框,我登錄。然後關閉瀏覽器。我打開我的瀏覽器並轉到我的應用程序:我仍然登錄。
  • 然後我選中該複選框記得我,登錄,關閉瀏覽器,打開的瀏覽器:完全相同的結果:我仍然登錄....

這怎麼可能?有什麼不同?

回答

1

如果您使用記住我,Laravel會在您下次訪問該頁面時使用用於記錄您的令牌的cookie(如果您以某種方式註銷,我將稍後解釋)。

Laravel默認使用會話有效期爲2小時(您可以在配置此設置),因此,如果您關閉瀏覽器,同時登錄,然後嘗試在2小時內服務器的窗口再次打開相同瀏覽器將不會注意到這一變化。

點擊註銷應用

  • 通過瀏覽器本身或通過使用不同的瀏覽器的第三方程序
  • 清理瀏覽器緩存「退出有點」

    • 以及明顯(這只是爲了澄清)
    • 使用隱身模式(這只是爲了說明)
    • 使用不同的電腦和瀏覽器沒有同步功能(這是澄清)

    要回答你的問題「什麼區別?」:

    如果使用記得我,Laravel將設置cookie的與被用來代替證書令牌(名:密碼組合),同時記錄並且該過程對於用戶是不可見的。

    如果您不使用記住我,您可以在沒有任何操作的情況下僅登錄2小時(或配置文件中設置的任何內容)。瀏覽器保持會話信息即使在關閉之後也被視爲瀏覽器的功能)。

  • +0

    非常好的解釋!非常感謝! – angelique000

    相關問題