1. 程式人生 > >前後端分離的項目,如何解決登陸問題

前後端分離的項目,如何解決登陸問題

響應 api 使用 返回 執行 之前 服務 主動 strong

方案一:使用token

  1、前端把account和password,提交到服務端的登陸api

  2、服務端驗證正確後,生成一個token,並把token和userId,存在緩存裏(推薦使用redis數據庫),然後把token返回給前端。

  3、前端每次的請求頭中帶有token,這樣就能夠輕松的實現。

方案二:使用cookie

  1、client發送username和password到server

  2、server認證成功後,寫cookie到client,然後返回ok的json,其中cookie的key要存放在redis中,value就是用戶信息,並且要設置key的超時時間。可以設置超時時間為60分鐘。

  3、當客戶端(client)收到ok服務端的響應後,執行相應的業務操作,以後每次請求服務端都會帶上cookie,不用寫代碼。

  4、服務端(server)的fliter,每次會驗證傳過來的cookie中的key是否在redis中存在,如果存在,那麽就代表在之前登陸過,cookie存在過。沒有就返回錯誤標識。在登陸成功後,每次調用服務端的接口的時候

  ,都要為redis中的key進行續期,如為60分鐘。

  5、當redis中的key超過60分鐘,自己會刪除這個key,那麽再次請求服務端的時候,就會收到需要登陸的返回值。

  6、當用戶主動從server(服務端)退出的時候,也會主動在server中刪除redis中的key。

  

前後端分離的項目,如何解決登陸問題