C# ASP.NET核心Web-所需的反伪造cookie;。AspNetCore.Antiforgery.wRFSYju6cwY“的;不在场
我在VS 2017(Community v15.6.6)中创建了一个新的ASP.NET Core 2.0 Web应用程序项目,在新项目向导中,我选择了Web应用程序+身份验证:个人用户帐户。 我在PM中运行更新数据库,以创建db。 然后我在IIS Express的VS中运行了应用程序,注册了一个新用户并登录。一切都很顺利 然后我停止了应用程序,并不是在IIS Express中运行它,而是使用了launchSettings.json中配置的第二个启动配置文件:C# ASP.NET核心Web-所需的反伪造cookie;。AspNetCore.Antiforgery.wRFSYju6cwY“的;不在场,c#,asp.net-core,asp.net-core-2.0,C#,Asp.net Core,Asp.net Core 2.0,我在VS 2017(Community v15.6.6)中创建了一个新的ASP.NET Core 2.0 Web应用程序项目,在新项目向导中,我选择了Web应用程序+身份验证:个人用户帐户。 我在PM中运行更新数据库,以创建db。 然后我在IIS Express的VS中运行了应用程序,注册了一个新用户并登录。一切都很顺利 然后我停止了应用程序,并不是在IIS Express中运行它,而是使用了launchSettings.json中配置的第二个启动配置文件: "profiles": { "Tes
"profiles": {
"TestCoreWebApp": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:63090/"
}
启动应用程序并打开带有主页的web浏览器。
现在,当我尝试登录时,它不起作用。它以HTTP400错误结束
在输出中,我看到以下错误:
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The required antiforgery cookie ".AspNetCore.Antiforgery.wRFSYju6cwY" is not present.
at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.<ValidateRequestAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.<OnAuthorizationAsync>d__3.MoveNext()
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException:所需的Antiforgery cookie“.AspNetCore.Antiforgery.wRFSYju6cwY”不存在。
在Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.d_u9.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()中
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.d_u3.MoveNext()中
请任何人解释一下为什么它的工作方式与IIS Express配置文件中的工作方式不同?是虫子吗
IIS Express配置文件在HTTPS上运行,但另一个配置文件在HTTP上运行。这种差异在所描述的行为中起作用吗
非常感谢。
Filip我也在同一版本中创建了同一个项目,但我不会创建数据库,因为在添加新用户时,实体框架会检查并创建数据库
尝试创建新用户并延迟EF创建数据库。我也在同一版本中创建相同的项目,但我不会创建数据库,因为添加新用户时,实体框架会检查并创建数据库
尝试创建新用户并延迟EF创建数据库。我在使用带有Asp Net core 2.0的Identity Server 4/身份管理项目和Asp Net core 2.0 API项目时遇到类似问题,这两个项目都使用SSL并使用IIS运行 对于开发环境,我改为不使用SSL并使用Kestrel运行,显示了错误“required anti-forgery cookie.AspNetCore.Antiforgery.wRFSYju6cwY”
当我清理Cookies(在所有浏览器中)时,一切都开始正常工作,我希望这对您有所帮助。我在使用带有Asp Net core 2.0的Identity Server 4/身份管理项目和Asp Net core 2.0 API项目时遇到了类似的问题,这两个项目都使用SSL并使用IIS运行 对于开发环境,我改为不使用SSL并使用Kestrel运行,显示了错误“required anti-forgery cookie.AspNetCore.Antiforgery.wRFSYju6cwY”
当我清理Cookie(在所有浏览器中)时,一切都开始正常工作,我希望这对您有所帮助。尝试将
@Html.AntiForgeryToken()
插入您的登录视图(表单内部)。尝试将@Html.AntiForgeryToken()
插入您的登录视图(表单内部).这让我数不清了很多次,因为我通常从一个空的web项目模板开始
您可能缺少\u ViewImports.cshtml
文件或其中的以下行(该行启用内置标记帮助程序,即自动插入的csrf):
@addTagHelper*,Microsoft.AspNetCore.Mvc.TagHelpers
由于我通常从一个空的web项目模板开始,这让我多次无法计数
您可能缺少\u ViewImports.cshtml
文件或其中的以下行(该行启用内置标记帮助程序,即自动插入的csrf):
@addTagHelper*,Microsoft.AspNetCore.Mvc.TagHelpers
感谢您的回答,但我认为问题与db无关。感谢您的回答,但我认为问题与db无关。