[ASP.NET Core Web应用上使用个人用户帐户存储在应用程序中的Postman模拟登录时出现400错误请求错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ASP.NET Core Web应用上使用个人用户帐户存储在应用程序中的Postman模拟登录时出现400错误请求错误相关的知识,希望对你有一定的参考价值。
[邮递员尝试模拟对ASP.NET Core Web应用程序的登录请求进行模拟时的返回400 Bad Request错误,该应用程序具有对应用程序中存储的单个用户帐户的身份验证。
但是,使用Visual Studio生成的默认应用程序模板时,我可以登录。使用Chrome DevTools,请求似乎如下:
- 请求URL:应用程序 /身份/帐户/登录
- 请求方法:POST
- 内容类型:应用程序/ x-www-form-urlencoded
- 表格数据:
- 输入电子邮件:用户的电子邮件地址
- 输入密码:用户密码
- __ RequestVerificationToken:令牌
- Input.RememberMe:用户对是非的选择
我尝试使用邮递员来模拟此操作,但未成功,如下所示:Postman request headers和Postman request body
邮递员返回400错误的请求错误,没有任何其他信息:Postman response with 400 error code
[当您尝试用Postman模拟登录时,请帮助我确定请求中有什么问题吗?
Edit:我没有为此编写任何自定义代码。它是Visual Studio中生成的默认模板。我尝试查找使用内置登录页面时调用的函数
当我使用Visual Studio将脚手架“ Identity”添加到项目中时,登录页面名为Login.cshtml,它使用默认的LoginModel。当我尝试使用断点进行调试时,我看到它在LoginModel类中调用了名为OnPostAsync的函数。
但是,当我使用Postman时,未达到断点。因此,我认为这可能是因为我当前的请求结构不正确]
有时可能会有所帮助。用[IgnoreAntiforgeryToken(Order = 1001)]
装饰您的PageModel类。关键是Order参数。内置[ValidateAntiforgeryToken]
的顺序为1000,因此将[IgnoreAntiforgeryToken]
显式设置为大于1000的任何值都可以解决此问题。
以上是关于[ASP.NET Core Web应用上使用个人用户帐户存储在应用程序中的Postman模拟登录时出现400错误请求错误的主要内容,如果未能解决你的问题,请参考以下文章
VS 2017 ASP.NET Core Web 应用程序和个人用户帐户有效,但页面不存在
Web 应用程序之间的 Asp.Net Core DataProtection 无法在 Azure 上运行
如何在不使用 Visual Studio 的情况下直接在 Docker 容器上运行 ASP.NET Core Web 应用程序
在 Asp.Net Core Web 应用程序中使用 EasyAuth 对 Azure 应用服务上的 AAD 进行身份验证时,无法填充 ClaimsPrincipal