ASP0001: 授權中介軟體設定不正確
值 | |
---|---|
規則識別碼 | ASP0001 |
類別 | 使用方式 |
修正程式是中斷或非中斷 | 不中斷 |
原因
在應用程式啟動程式碼中偵測到的不依序呼叫 UseAuthorization。
檔案描述
若要讓授權對端點路由有效,對 UseAuthorization
的呼叫應該會出現在對 UseRouting
和 UseEndpoints
的呼叫之間。 如果沒有此情況,將會使用後援原則 (如果已設定) 來授權所有要求。
請考慮下列程式碼:
app.UseStaticFiles();
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
對 UseAuthorization
的呼叫會出現在 UseRouting
之前,因此不會感知端點。
如何修正違規
變更對 UseAuthorization
和 UseRouting
呼叫的執行順序。
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
隱藏警告的時機
如果 UseAuthorization
的呼叫是要在所有傳出要求上授權後援原則,或旨在授權未使用端點路由進行路由的資源,則隱藏此規則是安全的。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應