簡體   English   中英

ASP.NET Core Web-所需的防偽cookie“ .AspNetCore.Antiforgery.wRFSYju6cwY”不存在

[英]ASP.NET Core Web - The required antiforgery cookie “.AspNetCore.Antiforgery.wRFSYju6cwY” is not present

我在VS 2017(社區v15.6.6)中創建了一個新的ASP.NET Core 2.0 Web應用程序項目,在“新建”項目向導中,我選擇了“ Web應用程序+身份驗證:單個用戶帳戶”。 我在PM中運行Update-Database,以創建數據庫。 然后,我在IIS Express中的VS中運行該應用程序,注冊了一個新用戶並登錄。一切正常。

然后,我停止了該應用程序,並沒有在IIS Express中運行它,而是使用了在launchSettings.json中配置的第二個啟動配置文件:

"profiles": {
"TestCoreWebApp": {
  "commandName": "Project",
  "launchBrowser": true,
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  },
  "applicationUrl": "http://localhost:63090/"
}

應用程序啟動並打開帶有主頁的Web瀏覽器。 現在,當我嘗試登錄時,它不起作用。 它以http 400錯誤結束。

在輸出中,我看到以下錯誤:

    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()

請誰能向我解釋為什么它不能與IIS Express配置文件中的方式相同? 是蟲子嗎?

IIS Express配置文件在HTTPS上運行,但是另一個配置文件在HTTPS上運行。 這種差異是否在描述的行為中起作用?

非常感謝。 菲利普

由於我通常從一個空的Web項目模板開始,這使我絆倒了太多次了。

您可能會丟失_ViewImports.cshtml文件或其中的以下行(這將啟用內置的標記幫助程序,即自動注入的csrf):

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

我還以相同的版本創建了相同的項目,但是我沒有創建數據庫,因為當您添加新用戶時,實體框架會檢查並創建數據庫

嘗試創建新用戶,並在EF以后創建數據庫。

使用帶有ASP並運行IIS的Identity Server 4 /身份管理項目和Asp Net core 2.0和Asp Net Core 2.0 API項目時,我遇到了類似的問題。

對於開發環境,我更改為不使用SSL並使用Kestrel來運行,並顯示錯誤“必需的防偽cookie .AspNetCore.Antiforgery.wRFSYju6cwY”。

當我清理了Cookies(在所有瀏覽器中)后,一切開始正常運行,希望對您有所幫助。

嘗試將@Html.AntiForgeryToken()插入到您的登錄視圖中(在表單內部)。

暫無
暫無

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

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