這篇文章將為大家詳細講解有關(guān)ASP.NET Core學(xué)習(xí)之使用JWT認證授權(quán)的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、潞城網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。概述
認證授權(quán)是很多系統(tǒng)的基本功能 , 在以前PC的時代 , 通常是基于cookies-session這樣的方式實現(xiàn)認證授權(quán) , 在那個時候通常系統(tǒng)的用戶量都不會很大, 所以這種方式也一直很好運行, 隨著現(xiàn)在都軟件用戶量越來越大, 系統(tǒng)架構(gòu)也從以前垂直擴展(增加服務(wù)器性能) -> 水平擴展(增加服務(wù)器數(shù)量)
cookies-session 工作方式
客戶端提交用戶信息 -> 服務(wù)器識別用戶 -> 服務(wù)端保存用戶信息 -> 返回session-id客戶端 -> 客戶端保存session-id -> 每次請求cookies帶上session-id
這種方式也不是不能水平擴展 , 例如 , session復(fù)制/第三方保存session(數(shù)據(jù)庫 , Redis)
名詞解析
認證 : 識別用戶是否合法
授權(quán): 賦予用戶權(quán)限 (能訪問哪些資源)
鑒權(quán): 鑒定權(quán)限是否合法
Jwt優(yōu)勢與劣勢
優(yōu)勢
無狀態(tài)
token 存儲身份驗證所有信息 , 服務(wù)端不需要保存用戶身份驗證信息, 減少服務(wù)端壓力 , 服務(wù)端更容易水平擴展, 由于無狀態(tài), 又會導(dǎo)致它大缺點 , 很難注銷
2、支持跨域訪問
Cookie是不允許垮域訪問的,token支持
3、跨語言
基于標準化的 JSON Web Token (JWT) , 不依賴特定某一個語言 , 例如生成對Token可以對多個語言使用(Net , Java , PHP ...)
劣勢
1、Token有效性問題
后臺很難注銷已經(jīng)發(fā)布的Token , 通常需要借助第三方儲存(數(shù)據(jù)庫/緩存) 實現(xiàn)注銷, 這樣就會失去JWT大的優(yōu)勢
2、占帶寬
Token長度(取決存放內(nèi)容) 比session_id大 , 每次請求多消耗帶寬 , token只存必要信息 , 避免token過長
3、需要實現(xiàn)續(xù)簽
cookies - session 通常是框架已經(jīng)實現(xiàn)續(xù)簽功能, 每次訪問把過期時間更新, JWT需要自己實現(xiàn), 參考OAuth3刷新Token機制實現(xiàn)刷新Token
4、消耗更多CPU
每次請求需要對內(nèi)容解密和驗證簽名這兩步操作,典型用時間換空間
只能根據(jù)自身使用場景決定使用哪一種身份驗證方案 , 沒有一種方案是通用的,完美的
AspNetCore集成Jwt認證
1、添加包
dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer
分享文章:ASP.NETCore學(xué)習(xí)之使用JWT認證授權(quán)的方法-創(chuàng)新互聯(lián)
URL分享:http://m.rwnh.cn/article34/ddchse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、軟件開發(fā)、動態(tài)網(wǎng)站、域名注冊、服務(wù)器托管、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容