diff --git a/src/Umbraco.Web/Security/WebSecurity.cs b/src/Umbraco.Web/Security/WebSecurity.cs index e7551ae2ea..972644ff49 100644 --- a/src/Umbraco.Web/Security/WebSecurity.cs +++ b/src/Umbraco.Web/Security/WebSecurity.cs @@ -379,9 +379,16 @@ namespace Umbraco.Web.Security return encTicket.DecryptWithMachineKey(); } } - catch (HttpException ex) + catch (Exception ex) { - // we swallow this type of exception as it happens if a legacy (pre 4.8.1) cookie is set + if (ex is ArgumentException || ex is FormatException || ex is HttpException) + { + StateHelper.Cookies.UserContext.Clear(); + } + else + { + throw; + } } } return ""; diff --git a/src/umbraco.businesslogic/BasePages/BasePage.cs b/src/umbraco.businesslogic/BasePages/BasePage.cs index 8e2eb59e97..e44a92c30b 100644 --- a/src/umbraco.businesslogic/BasePages/BasePage.cs +++ b/src/umbraco.businesslogic/BasePages/BasePage.cs @@ -267,9 +267,16 @@ namespace umbraco.BasePages return encTicket.DecryptWithMachineKey(); } } - catch (HttpException ex) + catch (Exception ex) { - // we swallow this type of exception as it happens if a legacy (pre 4.8.1) cookie is set + if (ex is ArgumentException || ex is FormatException || ex is HttpException) + { + StateHelper.Cookies.UserContext.Clear(); + } + else + { + throw; + } } } return "";