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

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

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

0
分享至

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

  第一道關(guān)卡叫認(rèn)證(Authentication),解決身份問(wèn)題。開(kāi)發(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ù)注冊(cè)到依賴注入容器,同時(shí)指定默認(rèn)方案為Cookies。AddCookie則提供具體的餅干處理程序,負(fù)責(zé)加密、解密和驗(yàn)證那塊存儲(chǔ)用戶身份的小文件。LoginPath指向登錄頁(yè),AccessDeniedPath處理權(quán)限不足的情況,ExpireTimeSpan設(shè)為60分鐘,SlidingExpiration開(kāi)啟后,用戶活躍時(shí)餅干會(huì)自動(dòng)續(xù)期。

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

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

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

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

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

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

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

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

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

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(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)推薦
中紀(jì)委連發(fā)禁令:機(jī)關(guān)事業(yè)單位職工注意,這7種飯局一參加就出局

中紀(jì)委連發(fā)禁令:機(jī)關(guān)事業(yè)單位職工注意,這7種飯局一參加就出局

細(xì)說(shuō)職場(chǎng)
2026-05-10 09:55:02
冠軍體質(zhì),坎塞洛成為第一個(gè)在四大聯(lián)賽中奪得聯(lián)賽冠軍的球員

冠軍體質(zhì),坎塞洛成為第一個(gè)在四大聯(lián)賽中奪得聯(lián)賽冠軍的球員

懂球帝
2026-05-11 05:06:32
入戶調(diào)查全面鋪開(kāi),挨家挨戶上門(mén)登記,到底查什么?一文講清楚

入戶調(diào)查全面鋪開(kāi),挨家挨戶上門(mén)登記,到底查什么?一文講清楚

健身狂人
2026-05-10 15:17:47
孫穎莎獲MVP,王曼昱哭了!日本奧運(yùn)冠軍盛贊莎莎:她太偉大!

孫穎莎獲MVP,王曼昱哭了!日本奧運(yùn)冠軍盛贊莎莎:她太偉大!

十點(diǎn)街球體育
2026-05-11 02:30:03
張本智和豎手指挑釁 梁靖崑展示國(guó)旗回應(yīng):霸氣失2追3 舉雙臂高呼

張本智和豎手指挑釁 梁靖崑展示國(guó)旗回應(yīng):霸氣失2追3 舉雙臂高呼

風(fēng)過(guò)鄉(xiāng)
2026-05-11 05:47:30
瑞舒伐他?。耗忝刻斐缘倪@顆小藥片,藏著多少你不知道的秘密?

瑞舒伐他?。耗忝刻斐缘倪@顆小藥片,藏著多少你不知道的秘密?

橘子約定
2026-05-10 22:08:46
為什么大多數(shù)人會(huì)選擇凱美瑞,而不去買(mǎi)亞洲龍?4個(gè)原因很明顯

為什么大多數(shù)人會(huì)選擇凱美瑞,而不去買(mǎi)亞洲龍?4個(gè)原因很明顯

劉哥談體育
2026-05-10 08:59:50
突然大漲!霍爾木茲,大消息

突然大漲!霍爾木茲,大消息

中國(guó)基金報(bào)
2026-05-11 00:11:08
逆境戰(zhàn)神!梁靖崑3-2張本智和,決勝局3-8逆轉(zhuǎn),王皓握雙拳慶祝!

逆境戰(zhàn)神!梁靖崑3-2張本智和,決勝局3-8逆轉(zhuǎn),王皓握雙拳慶祝!

大秦壁虎白話體育
2026-05-11 00:31:19
安徽巨星夜崩盤(pán),窮到欠薪卻敢辦大型演唱會(huì),粉絲淪為韭菜太扎心

安徽巨星夜崩盤(pán),窮到欠薪卻敢辦大型演唱會(huì),粉絲淪為韭菜太扎心

法老不說(shuō)教
2026-05-09 15:11:16
與丈夫離婚后,她開(kāi)始和上海首富同居,如今重操舊業(yè)卻已無(wú)人問(wèn)津

與丈夫離婚后,她開(kāi)始和上海首富同居,如今重操舊業(yè)卻已無(wú)人問(wèn)津

風(fēng)月得自難尋
2026-05-11 02:17:01
官僚主義最陰狠的套路:把所有風(fēng)險(xiǎn),砸向最底層

官僚主義最陰狠的套路:把所有風(fēng)險(xiǎn),砸向最底層

職場(chǎng)資深秘書(shū)
2026-05-08 20:44:41
6.80關(guān)口失守!人民幣大幅升值,你的錢(qián)袋子正在被重新洗牌

6.80關(guān)口失守!人民幣大幅升值,你的錢(qián)袋子正在被重新洗牌

奇思妙想生活家
2026-05-10 20:12:20
人倫之亂,正在悄悄毀掉無(wú)數(shù)家庭!看完一身冷汗

人倫之亂,正在悄悄毀掉無(wú)數(shù)家庭!看完一身冷汗

三農(nóng)老歷
2026-05-08 19:20:12
京粵大戰(zhàn)G3時(shí)間定了!廣東已全隊(duì)抵達(dá)北京,宏遠(yuǎn)陳老板也隨隊(duì)出征

京粵大戰(zhàn)G3時(shí)間定了!廣東已全隊(duì)抵達(dá)北京,宏遠(yuǎn)陳老板也隨隊(duì)出征

多特體育說(shuō)
2026-05-10 22:23:42
河北省委常委常斌任唐山市委書(shū)記

河北省委常委常斌任唐山市委書(shū)記

澎湃新聞
2026-05-10 18:54:26
250億!賴清德竄訪代價(jià)來(lái)了,斯威士蘭開(kāi)始要債 盧秀燕卻聲援綠營(yíng)

250億!賴清德竄訪代價(jià)來(lái)了,斯威士蘭開(kāi)始要債 盧秀燕卻聲援綠營(yíng)

聞識(shí)
2026-05-10 18:17:01
隨著韓國(guó)4-1,印度0-3,也門(mén)3-2,亞洲杯最新積分榜出爐

隨著韓國(guó)4-1,印度0-3,也門(mén)3-2,亞洲杯最新積分榜出爐

側(cè)身凌空斬
2026-05-11 03:15:16
衛(wèi)健委已將左氧氟沙星列為重點(diǎn)監(jiān)控藥!醫(yī)生:服用千萬(wàn)注意7點(diǎn)

衛(wèi)健委已將左氧氟沙星列為重點(diǎn)監(jiān)控藥!醫(yī)生:服用千萬(wàn)注意7點(diǎn)

健康科普365
2026-05-10 18:45:06
張文宏:病毒傳播路徑異常!中國(guó)涉郵輪人員核酸陰性!美英荷等國(guó)相繼表態(tài)

張文宏:病毒傳播路徑異常!中國(guó)涉郵輪人員核酸陰性!美英荷等國(guó)相繼表態(tài)

縱相新聞
2026-05-10 13:56:12
2026-05-11 06:35:00
爬蟲(chóng)飼養(yǎng)員
爬蟲(chóng)飼養(yǎng)員
業(yè)余養(yǎng)了只叫“龍蝦”的AI爬蟲(chóng),主業(yè)是給互聯(lián)網(wǎng)打工。
2429文章數(shù) 29關(guān)注度
往期回顧 全部

科技要聞

DeepSeek融資,改寫(xiě)所有人的估值

頭條要聞

王楚欽助男乒12連冠+生日捧杯:球迷陪伴是最好禮物

頭條要聞

王楚欽助男乒12連冠+生日捧杯:球迷陪伴是最好禮物

體育要聞

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

娛樂(lè)要聞

趙露思老實(shí)人豁出去了 沒(méi)舞蹈天賦硬跳

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

白酒大逃殺

汽車(chē)要聞

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

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

本地
房產(chǎn)
親子
家居
手機(jī)

本地新聞

用蘇繡的方式,打開(kāi)江西婺源

房產(chǎn)要聞

低價(jià)甩賣(mài)!??谶@個(gè)地標(biāo)商業(yè),無(wú)人接盤(pán)!

親子要聞

從第一聲呼喚開(kāi)始,愛(ài)就有了名字

家居要聞

菁英人居 全能豪宅

手機(jī)要聞

OPPO Reno16系列參數(shù)全曝光,就差價(jià)格了

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