"Während eines kryptografischen Vorgangs ist ein Fehler aufgetreten" beim Entschlüsseln des Forms-Cookies

Ich habe meine Website auf ein Webhosting hochgeladen und dieser Fehler ist aufgetreten.
'ei einem kryptografischen Vorgang ist ein Fehler aufgetrete. '.

Ich habe einige Nachforschungen angestellt und es scheint, dass das formauthentifizierte Cookie an den MachineKey gebunden ist (was sich bei Verwendung von Webhost unterscheidet).


Ich habe eine Methode gefunden, mit der das Problem behoben werden kann, aber der Fehler bleibt bestehen.

CODE

/// <summary>
    /// This method removes a cookie if the machine key is different than the one that saved the cookie;
    /// </summary>
    protected void Application_Error(object sender, EventArgs e)
    {
        var error = Server.GetLastError();
        var cryptoEx = error as CryptographicException;
        if (cryptoEx != null)
        {
            FederatedAuthentication.WSFederationAuthenticationModule.SignOut();
            Global.Cookies.FormAuthenticated Cookie = new Global.Cookies.FormAuthenticated();
            Cookie.Delete();
            Server.ClearError();
        }
    }


STACKTRACE:

[CryptographicException: Error occurred during a cryptographic operation.]
   System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func, Byte[] input) +115
   System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.Unprotect(Byte[] protectedData) +59
   System.Web.Security.FormsAuthentication.Decrypt(String encryptedTicket) +9824926
   Archive_Template.Main.resolveLoginUser(String sessionKey) in f:\Archive_Template\Archive_Template\Main.aspx.cs:481
   Archive_Template.Main.OnPreInit(EventArgs e) in f:\Archive_Template\Archive_Template\Main.aspx.cs:52
   System.Web.UI.Page.PerformPreInit() +31
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +335

Antworten auf die Frage(12)

Ihre Antwort auf die Frage