国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

ASP.NET Core餅干認(rèn)證:一次請求如何被層層把關(guān)

0
分享至

  一個(gè)用戶點(diǎn)擊登錄按鈕后,系統(tǒng)背后發(fā)生了什么?這不是魔法,而是一套精密的流水線作業(yè)。ASP.NET Core的餅干認(rèn)證機(jī)制,把"你是誰"和"你能做什么"拆成了兩道獨(dú)立關(guān)卡,每道關(guān)卡都有明確的崗位職責(zé)。

  第一道關(guān)卡叫認(rèn)證(Authentication),解決身份問題。開發(fā)者在Program.cs里這樣配置:

  

  builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options => { options.LoginPath = "/Account/Login"; options.AccessDeniedPath = "/Account/AccessDenied"; options.ExpireTimeSpan = TimeSpan.FromMinutes(60); options.SlidingExpiration = true; });

  AddAuthentication把認(rèn)證服務(wù)注冊到依賴注入容器,同時(shí)指定默認(rèn)方案為Cookies。AddCookie則提供具體的餅干處理程序,負(fù)責(zé)加密、解密和驗(yàn)證那塊存儲用戶身份的小文件。LoginPath指向登錄頁,AccessDeniedPath處理權(quán)限不足的情況,ExpireTimeSpan設(shè)為60分鐘,SlidingExpiration開啟后,用戶活躍時(shí)餅干會自動續(xù)期。

  第二道關(guān)卡叫授權(quán)(Authorization),解決權(quán)限問題。代碼同樣簡潔:

  builder.Services.AddAuthorization(options => { options.AddPolicy("AdminOnly", policy => policy.RequireRole("Admin").RequireClaim("EmployeeId")); });

  這里定義了一條名為"AdminOnly"的策略:用戶必須同時(shí)擁有Admin角色,以及EmployeeId聲明。授權(quán)服務(wù)會拿著這些規(guī)則,去核對用戶身份憑證上的每一項(xiàng)信息。

  當(dāng)請求真正進(jìn)入管道,故事才剛開始。首先調(diào)用app.UseAuthentication(),認(rèn)證中間件開始工作。它向認(rèn)證服務(wù)索要一個(gè)ClaimsPrincipal對象,認(rèn)證服務(wù)轉(zhuǎn)交給餅干處理程序。處理程序用數(shù)據(jù)保護(hù)提供程序(Data Protection Provider)解密餅干,從中提取用戶信息,構(gòu)造出ClaimsPrincipal,然后掛到HttpContext.User上。此時(shí)請求才繼續(xù)流向下一環(huán)。

  緊接著app.UseAuthorization()登場。授權(quán)中間件檢查端點(diǎn)是否打了[Authorize]標(biāo)簽,或者指定了具體策略如[Authorize(Policy = "AdminOnly")]。它把ClaimsPrincipal交給授權(quán)服務(wù),逐項(xiàng)比對策略要求。

  比對結(jié)果分三路走。如果策略需要用戶但未登錄,系統(tǒng)觸發(fā)Challenge,把用戶踢到登錄頁。如果已登錄但聲明不滿足,觸發(fā)Forbid,導(dǎo)向拒絕訪問頁。只有全部過關(guān),請求才能抵達(dá)控制器方法。

  這套設(shè)計(jì)的妙處在于解耦。認(rèn)證只管"這人是不是他自稱的那個(gè)人",授權(quán)只管"這人有沒有資格干這件事"。兩塊邏輯獨(dú)立演化,測試時(shí)可以分別Mock,部署時(shí)也能靈活替換。比如認(rèn)證從餅干換成JWT令牌,授權(quán)層代碼完全不用動。

  60分鐘的過期窗口加上滑動續(xù)期,是平衡安全與體驗(yàn)的常見做法。太久不安全,太短煩用戶。RequireClaim那條EmployeeId,則是業(yè)務(wù)系統(tǒng)的典型需求——光有角色不夠,還得確認(rèn)是內(nèi)部員工賬號。這些細(xì)節(jié)沒有標(biāo)準(zhǔn)答案,取決于你的風(fēng)險(xiǎn)模型和用戶容忍度。

  理解這條流水線,調(diào)試時(shí)就不會迷茫。用戶說"我明明登錄了卻看不到頁面",先查認(rèn)證中間件有沒有跑,餅干還在不在。如果說"我能登錄但按鈕點(diǎn)不了",問題在授權(quán)策略,看ClaimsPrincipal里缺了哪條聲明。工具鏈清晰,排障才有章法。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
暴跌10億!宜家瘋狂降價(jià)自救,曾經(jīng)的中產(chǎn)神話徹底涼了

暴跌10億!宜家瘋狂降價(jià)自救,曾經(jīng)的中產(chǎn)神話徹底涼了

青眼財(cái)經(jīng)
2026-05-07 22:00:36
瀏陽煙花廠爆炸事故親歷者:“跑了兩秒鐘,后面就爆炸了”

瀏陽煙花廠爆炸事故親歷者:“跑了兩秒鐘,后面就爆炸了”

新京報(bào)
2026-05-10 11:43:36
男子為尋求“刺激”,深夜?jié)撊肓羰貗D女家,2020年十多人被其糟蹋

男子為尋求“刺激”,深夜?jié)撊肓羰貗D女家,2020年十多人被其糟蹋

漢史趣聞
2026-05-10 16:38:24
美國務(wù)卿魯比奧正式宣布,特朗普訪華將討論臺灣問題

美國務(wù)卿魯比奧正式宣布,特朗普訪華將討論臺灣問題

少女心盜夢賊
2026-05-10 04:41:04
中日對峙到了今天,一個(gè)問題已然徹底被擺在了中國的面前

中日對峙到了今天,一個(gè)問題已然徹底被擺在了中國的面前

安安說
2026-04-27 10:58:52
中美在南海一輪攻防對練后,囂張的美軍,終于認(rèn)清一個(gè)殘酷的現(xiàn)實(shí)

中美在南海一輪攻防對練后,囂張的美軍,終于認(rèn)清一個(gè)殘酷的現(xiàn)實(shí)

青杍無夢
2026-05-10 10:27:23
科學(xué)家首次發(fā)現(xiàn):動脈粥樣斑塊竟能完全消退!不過需滿足4個(gè)條件

科學(xué)家首次發(fā)現(xiàn):動脈粥樣斑塊竟能完全消退!不過需滿足4個(gè)條件

39健康網(wǎng)
2026-05-09 21:11:38
我在外省帶外孫,偷偷回家給老伴驚喜,推開門我驚得行李箱落地

我在外省帶外孫,偷偷回家給老伴驚喜,推開門我驚得行李箱落地

曉艾故事匯
2026-05-10 10:03:31
雷迪克:三場我們都被打得落花流水,雷霆是支不可思議的球隊(duì)

雷迪克:三場我們都被打得落花流水,雷霆是支不可思議的球隊(duì)

懂球帝
2026-05-10 12:56:02
悲哀!舉報(bào)自己吃空餉的柳某逼進(jìn)死胡同,網(wǎng)友:成“三無”人員了

悲哀!舉報(bào)自己吃空餉的柳某逼進(jìn)死胡同,網(wǎng)友:成“三無”人員了

火山詩話
2026-05-09 19:07:52
比穆里尼奧還意外!皇馬換帥突發(fā)反轉(zhuǎn),球迷看完集體炸鍋

比穆里尼奧還意外!皇馬換帥突發(fā)反轉(zhuǎn),球迷看完集體炸鍋

瀾歸序
2026-05-10 03:03:26
搶瘋了!NS2漲價(jià) 日本店鋪狂設(shè)門檻也擋不住熱潮

搶瘋了!NS2漲價(jià) 日本店鋪狂設(shè)門檻也擋不住熱潮

游民星空
2026-05-10 16:39:46
這段野史,比正史還真

這段野史,比正史還真

我是歷史其實(shí)挺有趣
2026-05-09 17:22:35
楊冪17歲時(shí)與成龍拍廣告,成龍嫌600元報(bào)酬太少,直接給了她5萬,沒想到竟影響了她的星途

楊冪17歲時(shí)與成龍拍廣告,成龍嫌600元報(bào)酬太少,直接給了她5萬,沒想到竟影響了她的星途

黎兜兜
2026-05-10 11:08:54
一定要多存錢,大量存錢,特別是2026-2028年。

一定要多存錢,大量存錢,特別是2026-2028年。

老陸不老
2026-05-10 15:37:02
吳宜澤奪冠不到72小時(shí),姐姐“私生活”被扒,終究步入趙心童后塵

吳宜澤奪冠不到72小時(shí),姐姐“私生活”被扒,終究步入趙心童后塵

白面書誏
2026-05-09 14:59:24
湖人三連敗,徹底被雷霆碾碎!三人大概率被交易,詹姆斯老已!

湖人三連敗,徹底被雷霆碾碎!三人大概率被交易,詹姆斯老已!

二爺臺球解說
2026-05-10 10:56:11
下周好運(yùn)星座(5/10~5/16)火氣蒸騰,顛簸增加

下周好運(yùn)星座(5/10~5/16)火氣蒸騰,顛簸增加

Pandora占星小巫
2026-05-10 15:40:00
中方為何遲遲不官宣特朗普訪華?這一次,中國不接美國輿論套路了

中方為何遲遲不官宣特朗普訪華?這一次,中國不接美國輿論套路了

陌生的你我
2026-05-10 13:42:24
1986年陳永貴病逝,追悼會規(guī)格成難題,鄧小平只說了一句話,全場安靜

1986年陳永貴病逝,追悼會規(guī)格成難題,鄧小平只說了一句話,全場安靜

寄史言志
2026-01-04 16:34:31
2026-05-10 17:39:00
爬蟲飼養(yǎng)員
爬蟲飼養(yǎng)員
業(yè)余養(yǎng)了只叫“龍蝦”的AI爬蟲,主業(yè)是給互聯(lián)網(wǎng)打工。
2405文章數(shù) 28關(guān)注度
往期回顧 全部

科技要聞

DeepSeek融資,改寫所有人的估值

頭條要聞

縣交警隊(duì)長被舉報(bào)工作日KTV飲酒 當(dāng)?shù)兀浩涫孪纫颜埣?/h3>

頭條要聞

縣交警隊(duì)長被舉報(bào)工作日KTV飲酒 當(dāng)?shù)兀浩涫孪纫颜埣?/h3>

體育要聞

那個(gè)曾讓詹姆斯抱頭的兄弟,40歲從大學(xué)畢業(yè)了

娛樂要聞

大S女兒玥兒開通賬號,用煙花緬懷母親

財(cái)經(jīng)要聞

白酒大逃殺

汽車要聞

軸距加長/智駕拉滿 阿維塔07L定位大五座SUV

態(tài)度原創(chuàng)

時(shí)尚
房產(chǎn)
藝術(shù)
手機(jī)
數(shù)碼

今年最好看的襯衫竟然是它?太減齡了!

房產(chǎn)要聞

低價(jià)甩賣!海口這個(gè)地標(biāo)商業(yè),無人接盤!

藝術(shù)要聞

預(yù)售 | 丁一林風(fēng)景寫生線上課程(最新)

手機(jī)要聞

HarmonyOS 7將至?華為開發(fā)者大會HDC 2026活動詳情公布

數(shù)碼要聞

華為智慧屏S7正式開售,300Hz Super MiniLED超清護(hù)眼

無障礙瀏覽 進(jìn)入關(guān)懷版