4
請記住,我已經在我的項目的兩個web.config文件中都放了一個機器密鑰,並且我已經檢查過那裏如here所述,不是多個@ Html.AntiForgeryToken()。我在Asp.Net 4中開發了兩個項目,當本地部署時,在第一次嘗試時給我一個失敗的錯誤,第二次沒有問題。我也刪除了cookies和瀏覽記錄,只是爲了確保結果相同。在本地站點初次登錄時出現防僞cookie標記錯誤,第二次嘗試時確定
內部服務器錯誤
的防僞標記無法解密。如果此應用程序是由Web服務器場或羣集託管的 ,請確保所有機器都運行 相同版本的ASP.NET網頁,並且配置中指定了明確的加密和驗證密鑰。 AutoGenerate不能在羣集中使用。
System.Web.Mvc.HttpAntiForgeryException (0x80004005): The anti-forgery token could not be decrypted. If this application is hosted by a Web Farm or cluster, ensure that all machines are running the same version of ASP.NET Web Pages and that the <machineKey> configuration specifies explicit encryption and validation keys. AutoGenerate cannot be used in a cluster.
at System.Web.Helpers.AntiXsrf.AntiForgeryTokenSerializer.Deserialize(String serializedToken)
at System.Web.Helpers.AntiXsrf.AntiForgeryTokenStore.GetCookieToken(HttpContextBase httpContext)
at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext)
at System.Web.Helpers.AntiForgery.Validate()
at System.Web.Mvc.ValidateAntiForgeryTokenAttribute.OnAuthorization(AuthorizationContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass1e.<BeginInvokeAction>b__16(AsyncCallback asyncCallback, Object asyncState)
將''添加到'web.config'時出現此錯誤。刪除'httpCookies'部分後,錯誤消失了。不知道它有什麼樣的依賴性。我的項目是ASP MVC 5。 –