cao死我好湿好紧好爽动态视屏|精选久久久久久久久久|中文无码精品一区二区三区四季|AAA国语精品刺激对白视频|

當(dāng)前位置:首頁 > 網(wǎng)站建設(shè) > 正文內(nèi)容

netmvc直接使用html(net html)

網(wǎng)站建設(shè)1個月前 (11-24)242

來源:John Wu,

blog.leapoahead.com/2015/09/07/user-authentication-with-jwt/

來源:John Wu,

blog.leapoahead.com/2015/09/07/user-authentication-with-jwt/

netmvc直接使用html(net html)

上次在《》中我提到了JSON Web Token可以用來設(shè)計單點登錄系統(tǒng)。我嘗試用八幅漫畫先讓大家理解如何設(shè)計正常的用戶認(rèn)證系統(tǒng),然后再延伸到單點登錄系統(tǒng)。

如果還沒有閱讀《》,我強(qiáng)烈建議你花十分鐘閱讀它,理解JWT的生成過程和原理。

用戶認(rèn)證八步走

所謂用戶認(rèn)證(Authentication),就是讓用戶登錄,并且在接下來的一段時間內(nèi)讓用戶訪問網(wǎng)站時可以使用其賬戶,而不需要再次登錄的機(jī)制。

小知識:可別把用戶認(rèn)證和用戶授權(quán)(Authorization)搞混了。用戶授權(quán)指的是規(guī)定并允許用戶使用自己的權(quán)限,例如發(fā)布帖子、管理站點等。

首先,服務(wù)器應(yīng)用(下面簡稱“應(yīng)用”)讓用戶通過Web表單將自己的用戶名和密碼發(fā)送到服務(wù)器的接口。這一過程一般是一個HTTP POST請求。建議的方式是通過SSL加密的傳輸(https協(xié)議),從而避免敏感信息被嗅探。

接下來,應(yīng)用和數(shù)據(jù)庫核對用戶名和密碼。

展開全文

核對用戶名和密碼成功后,應(yīng)用將用戶的id(圖中的user_id)作為JWT Payload的一個屬性,將其與頭部分別進(jìn)行編碼拼接后簽名,形成一個JWT。這里的JWT就是一個形同lll.zzz.xxx的字符串。

應(yīng)用將JWT字符串作為該請求Cookie的一部分返回給用戶。注意,在這里必須使用HttpOnly屬性來防止Cookie被Java讀取,從而避免跨站腳本攻擊(XSS攻擊)。

在Cookie失效或者被刪除前,用戶每次訪問應(yīng)用,應(yīng)用都會接受到含有jwt的Cookie。從而應(yīng)用就可以將JWT從請求中提取出來。

應(yīng)用通過一系列任務(wù)檢查JWT的有效性。例如,檢查簽名是否正確;檢查Token是否過期;檢查Token的接收方是否是自己(可選)。

應(yīng)用在確認(rèn)JWT有效之后,JWT進(jìn)行解碼(可能在上一步中已經(jīng)完成),然后在Payload中讀取用戶的id值,也就是user_id屬性。這里用戶的id為1025。

應(yīng)用從數(shù)據(jù)庫取到id為1025的用戶的信息,加載到內(nèi)存中,進(jìn)行ORM之類的一系列底層邏輯初始化。

應(yīng)用根據(jù)用戶請求進(jìn)行響應(yīng)。

和Session方式存儲id的差異

Session方式存儲用戶id的最大弊病在于要占用大量服務(wù)器內(nèi)存,對于較大型應(yīng)用而言可能還要保存許多的狀態(tài)。一般而言,大型應(yīng)用還需要借助一些KV數(shù)據(jù)庫和一系列緩存機(jī)制來實現(xiàn)Session的存儲。

而JWT方式將用戶狀態(tài)分散到了客戶端中,可以明顯減輕服務(wù)端的內(nèi)存壓力。除了用戶id之外,還可以存儲其他的和用戶相關(guān)的信息,例如該用戶是否是管理員、用戶所在的分桶(見[《你所應(yīng)該知道的A/B測試基礎(chǔ)》一文](/2015/08/27/introduction-to-ab-testing/)等。

雖說JWT方式讓服務(wù)器有一些計算壓力(例如加密、編碼和解碼),但是這些壓力相比磁盤I/O而言或許是半斤八兩。具體是否采用,需要在不同場景下用數(shù)據(jù)說話。

單點登錄

Session方式來存儲用戶id,一開始用戶的Session只會存儲在一臺服務(wù)器上。對于有多個子域名的站點,每個子域名至少會對應(yīng)一臺不同的服務(wù)器,例如:

www.taobao.com

nv.taobao.com

nz.taobao.com

login.taobao.com

www.taobao.com

nv.taobao.com

nz.taobao.com

login.taobao.com

所以如果要實現(xiàn)在login.taobao.com登錄后,在其他的子域名下依然可以取到Session,這要求我們在多臺服務(wù)器上同步Session。

使用JWT的方式則沒有這個問題的存在,因為用戶的狀態(tài)已經(jīng)被傳送到了客戶端。因此,我們只需要將含有JWT的Cookie的domain設(shè)置為頂級域名即可,例如

Set-Cookie: jwt=lll.zzz.xxx; HttpOnly; max-age=980000; domain=.taobao.com

Set-Cookie: jwt=lll.zzz.xxx; HttpOnly; max-age=980000; domain=.taobao.com

注意domain必須設(shè)置為一個點加頂級域名,即.taobao.com。這樣,taobao.com和*.taobao.com就都可以接受到這個Cookie,并獲取JWT了。

看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人

關(guān)注「ImportNew」,看技術(shù)干貨

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://m.smallwaterjetsystem.com/post/124367.html

標(biāo)簽: netmvc直接使用html

“netmvc直接使用html(net html)” 的相關(guān)文章

seo網(wǎng)站排名優(yōu)化軟件(seo快速排名網(wǎng)站優(yōu)化)

seo網(wǎng)站排名優(yōu)化軟件(seo快速排名網(wǎng)站優(yōu)化)

本篇文章給大家談?wù)剆eo網(wǎng)站排名優(yōu)化軟件,以及seo快速排名網(wǎng)站優(yōu)化對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、seo排名優(yōu)化工具推薦 2、網(wǎng)站優(yōu)化所需要的SEO工具有哪些 3、網(wǎng)站優(yōu)化排名軟件 seo排名優(yōu)化工具推薦 seo排名優(yōu)化工具推薦:1.網(wǎng)站日志利...

打印機(jī)標(biāo)簽?zāi)0逶O(shè)置系統(tǒng)(打印標(biāo)簽?zāi)0逶趺丛O(shè)置)

打印機(jī)標(biāo)簽?zāi)0逶O(shè)置系統(tǒng)(打印標(biāo)簽?zāi)0逶趺丛O(shè)置)

今天給各位分享打印機(jī)標(biāo)簽?zāi)0逶O(shè)置系統(tǒng)的知識,其中也會對打印標(biāo)簽?zāi)0逶趺丛O(shè)置進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、xprinter打印機(jī)怎么設(shè)置模板 2、芯華熱敏打印機(jī)怎么設(shè)置打印模板 3、標(biāo)簽打印機(jī)怎么設(shè)置標(biāo)簽?zāi)0澹?4、佳博條碼標(biāo)簽打...

機(jī)械創(chuàng)新設(shè)計大賽ppt模板(機(jī)械創(chuàng)新設(shè)計大賽ppt模板下載)

機(jī)械創(chuàng)新設(shè)計大賽ppt模板(機(jī)械創(chuàng)新設(shè)計大賽ppt模板下載)

今天給各位分享機(jī)械創(chuàng)新設(shè)計大賽ppt模板的知識,其中也會對機(jī)械創(chuàng)新設(shè)計大賽ppt模板下載進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、第八屆全國大學(xué)生機(jī)械創(chuàng)新設(shè)計大賽2018年的主題為關(guān)注民生美 2、2022江西省機(jī)械創(chuàng)新設(shè)計大賽時間 3、機(jī)械創(chuàng)新...

dreamweaver框架網(wǎng)頁制作代碼(dreamweaver簡單網(wǎng)頁制作)

dreamweaver框架網(wǎng)頁制作代碼(dreamweaver簡單網(wǎng)頁制作)

今天給各位分享dreamweaver框架網(wǎng)頁制作代碼的知識,其中也會對dreamweaver簡單網(wǎng)頁制作進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、求用dreamweaver css制作簡單網(wǎng)頁的代碼!?。?!急用!符合要求有重謝?。?! 2、如何使用D...

淘寶詳情頁模板哪里有(淘寶詳情頁模板素材)

淘寶詳情頁模板哪里有(淘寶詳情頁模板素材)

本篇文章給大家談?wù)勌詫氃斍轫撃0迥睦镉?,以及淘寶詳情頁模板素材對?yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、哪里可以找到淘寶詳情頁模板,店小美可以嗎?效果怎么樣? 2、淘寶新旺鋪裝修之如何添加并設(shè)置寶貝詳情頁模板 3、請問一般淘寶,阿里巴巴,網(wǎng)站詳情頁的模板都是...

su模型可以導(dǎo)入犀牛嗎(su怎么導(dǎo)入犀牛模型)

su模型可以導(dǎo)入犀牛嗎(su怎么導(dǎo)入犀牛模型)

本篇文章給大家談?wù)剆u模型可以導(dǎo)入犀牛嗎,以及su怎么導(dǎo)入犀牛模型對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、為什么我su導(dǎo)入犀牛只有前視圖 2、犀牛模型導(dǎo)入su.可以進(jìn)行修改操作嗎 3、su導(dǎo)入犀牛沒有材質(zhì) 4、su模型導(dǎo)入犀牛時有黑色的塊 為什么我s...