簡體   English   中英

在 ASP.NET 核心 Web 應用程序中使用存儲在應用程序中的單個用戶帳戶模擬登錄時出現 400 錯誤請求錯誤

[英]400 Bad Request error when simulating login with Postman on ASP.NET Core Web Application with individual user accounts stored in-app

Postman 在嘗試模擬對 ASP.NET 核心 Web 應用程序的登錄請求時返回 400 Bad Request 錯誤

但是,我可以在使用 Visual Studio 生成的默認應用程序模板時登錄。 使用 Chrome DevTools,似乎請求如下:

  • 請求 URL:應用程序/身份/帳戶/登錄
  • 請求方法:POST
  • 內容類型:application/x-www-form-urlencoded
  • 表格數據:
    • Input.Email:用戶的email地址
    • Input.Password:用戶的密碼
    • __RequestVerificationToken:令牌
    • Input.RememberMe:用戶選擇真假

我沒有成功地嘗試使用 Postman 進行模擬,如下所示: Postman 請求標頭Postman 請求正文

Postman 返回 400 Bad Request 錯誤,沒有任何附加信息: Postman 響應帶有 400 錯誤代碼

在嘗試使用 Postman 模擬登錄時,請您幫我確定我的請求中有什么問題?

編輯:我沒有為此編寫任何自定義代碼。 它是 Visual Studio 中生成的默認模板。 我嘗試查找使用內置登錄頁面時調用的 function

當我使用 Visual Studio 向項目添加腳手架“身份”時,登錄頁面名為Login.cshtml ,它使用默認的 LoginModel。 當我嘗試使用斷點進行調試時,我看到它在 LoginModel class 中調用了一個名為OnPostAsync的 function。

但是,當我使用 Postman 時,沒有到達斷點。 因此,我認為這可能是因為我當前的請求結構不正確

有時這可能會有所幫助。 [IgnoreAntiforgeryToken(Order = 1001)]裝飾您的 PageModel class。 關鍵是 Order 參數。 內置[ValidateAntiforgeryToken]的順序為 1000,因此將[IgnoreAntiforgeryToken]顯式設置為大於 1000 的任何值都可以解決問題。

參考 -禁用防偽令牌驗證

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM