国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
權(quán)限認(rèn)證 cookie VS token

我前公司的應(yīng)用都是 token 授權(quán)的,現(xiàn)公司都是維護一個 session 確認(rèn)登錄狀態(tài)的。那么我在這掰扯掰扯這兩種權(quán)限認(rèn)證的方方面面。

工作流程

先說 cookie

cookie 登錄是有狀態(tài)的,服務(wù)端維護一個 session 客戶端維護一個 cookie,cookie 只保留 sessionID 服務(wù)端要保存并跟蹤所有活動的 session 如下:

  1. 輸入用戶名密碼登陸。
  2. 服務(wù)器拿到身份并驗證后生成一個 session 存到數(shù)據(jù)庫。
  3. 把 sessionID 返回給客戶端存成一個 cookie 保存 sessionID。
  4. 隨后的請求會攜帶這個包含 sessionID 的 cookie。
  5. 服務(wù)器拿著 sessionID 找到對應(yīng)的 session 認(rèn)證用戶是否有對應(yīng)權(quán)限啊。
  6. 登出后,服務(wù)端銷毀 session 客戶端銷毀 cookie。

    token

    token 的認(rèn)證方式是無狀態(tài)的,服務(wù)端不保存登陸狀態(tài),也不關(guān)心哪些客戶端簽發(fā)了 token ,每個請求都會攜帶 token 通常在 header 中,也可以出現(xiàn)在 body 和 query 如下:
  7. 輸入用戶名密碼登陸。
  8. 服務(wù)器拿到身份并驗證后簽發(fā)一個 token。
  9. 客戶端拿到 token 并存起來,好多地方都可以存。
  10. 客戶端發(fā)送的每一個請求都要攜帶 token,好多方式可以攜帶。
  11. 服務(wù)器接收請求后拿到 token 并解析,拿解析的結(jié)果進行權(quán)限認(rèn)證(token中可能已經(jīng)攜帶權(quán)限信息,能被正常解析的 token 被認(rèn)為是合法機構(gòu)簽發(fā)的)。
  12. 登出后,在客戶端銷毀 token 即可。
    無圖無真相,兩種方式對比

    token 的優(yōu)勢

    新的東西如果沒有原來的好用是不會有人用的。那 token 哪里好呢。
  • 無狀態(tài),token 是無狀態(tài)的,服務(wù)器端不需要保留任何信息,每個 token 都會包含所有需要的用戶信息。服務(wù)器端可以只負(fù)責(zé)簽發(fā)和解析 token 解放了部分服務(wù)器資源,讓服務(wù)器更單純的提供接口。
  • 跨服務(wù)器,無狀態(tài)優(yōu)勢在此。服務(wù)器如果做了負(fù)載均衡之類的,你兩條請求不一定去同一個服務(wù)器,著如果用服務(wù)器維護一個 session 的話就顯得有些棘手了,一個服務(wù)器和一個客戶端對應(yīng),另一個服務(wù)器不一定認(rèn)得你啊,不對是一定不認(rèn)得你啊,當(dāng)然這個問題也不難解決。
  • 可以攜帶其他信息,比如攜帶具體權(quán)限信息之類的,省的還要去查庫。
  • 性能,解 token 可比查庫要省事兒的多。
  • 跨域,請求需要跨域的接口的時候 cookie 就力不從心了,不同域就不會攜帶 cookie ,不攜帶 cookie 服務(wù)器也不知道是哪個 session 啊,token 在此優(yōu)勢明顯。
  • 配合移動端,cookie 是瀏覽器端的玩意兒,移動端應(yīng)用想使用 cookie 還得折騰一下,token 就方便得多。token 讓服務(wù)器端單純提供 API 服務(wù),適用性更廣。
  • CSRF,如果 token 不存放在 cookie 中,防止了跨站請求偽造帶來的安全性風(fēng)險。
    參考:地址
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Cookie.Session到Token和JWT
Cookie、Session、Token 的區(qū)別
Token是什么?和session、cookie相比,使用場景有什么區(qū)別?
認(rèn)證授權(quán)基礎(chǔ)
session 、cookie、token的區(qū)別
什么是session?什么是cookie?session和cookie有什么區(qū)別?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服