public static void SSLRedirect(SSLRedirectTo RedirectTo) { var CurrentUrl = HttpContext.Current.Request.Url.AbsoluteUri.ToLower(); var url = BuildUrlForRedirect(CurrentUrl, RedirectTo); //if the urls match, then for some reason we aren't replacing anything //so if we redirect then we will go into a loop if (url != CurrentUrl) { HttpContext.Current.Response.Redirect(url); } }
public static string BuildUrlForRedirect(string currentUrl, SSLRedirectTo redirectTo) { RemoveAllEncoding(ref currentUrl); var url = string.Empty; switch (redirectTo) { case SSLRedirectTo.NonSSL: url = UrlRewriter.SwitchUrlToStandard(currentUrl); break; case SSLRedirectTo.SSL: url = UrlRewriter.SwitchUrlToSecure(currentUrl); break; } return(url); }
public static void SSLRedirect(MerchantTribeApplication app, Accounts.Store currentStore, SSLRedirectTo RedirectTo) { string CurrentUrl = app.CurrentRequestContext.RoutingContext.HttpContext.Request.RawUrl.ToLower(); //UrlRewriter.GetRewrittenUrlFromRequest(page.Request).ToLower(); string StandardURL = app.StoreUrl(false, true).ToLowerInvariant(); string SecureURL = app.StoreUrl(true, false).ToLowerInvariant(); string sessionId = WebAppSettings.SessionId; string cartId = WebAppSettings.CartId; string currentSessionId = SessionManager.GetCurrentUserId(currentStore, app.CurrentRequestContext.RoutingContext.HttpContext.Request.Cookies); string currentCartId = SessionManager.GetCurrentCartID(currentStore); string url = BuildUrlForRedirect(CurrentUrl, StandardURL, SecureURL, RedirectTo, sessionId, cartId, currentSessionId, currentCartId, false ); //if the urls match, then for some reason we aren't replacing anything //so if we redirect then we will go into a loop if (url != CurrentUrl) { app.CurrentRequestContext.RoutingContext.HttpContext.Response.Redirect(url); } }
public static string BuildUrlForRedirect(string currentUrl, string standardUrl, string secureUrl, SSLRedirectTo redirectTo, string currentCartId, bool useClearText) { return(BuildUrlForRedirect(currentUrl, redirectTo)); }
public static string BuildUrlForRedirect(string currentUrl, string standardUrl, string secureUrl, SSLRedirectTo redirectTo, string sessionId, string cartId, string currentSessionId, string currentCartId, bool useClearText ) { string url = string.Empty; RemoveAllEncoding(ref currentUrl); RemoveAllEncoding(ref standardUrl); RemoveAllEncoding(ref secureUrl); TripleDesEncryption enc = new TripleDesEncryption(); switch (redirectTo) { case SSLRedirectTo.NonSSL: url = UrlRewriter.SwitchUrlToStandard(currentUrl); break; case SSLRedirectTo.SSL: url = UrlRewriter.SwitchUrlToSecure(currentUrl); break; } //if (differentTld) { // Uri temp = new Uri(url); // NameValueCollection queryString = HttpUtility.ParseQueryString(temp.Query); // object obj = queryString.GetValues(sessionId); // if (!string.IsNullOrEmpty(currentSessionId.Trim())) { // string sesval = currentSessionId; // if ((!useClearText)) { // sesval = enc.Encode(currentSessionId); // } // if (obj != null) { // queryString[sessionId] = sesval; // } // else { // queryString.Add(sessionId, sesval); // } // } // obj = queryString.GetValues(cartId); // if (!string.IsNullOrEmpty(currentCartId.Trim())) { // string cidval = currentCartId; // if ((!useClearText)) { // cidval = enc.Encode(currentCartId); // } // if (obj != null) { // queryString[cartId] = cidval; // } // else { // queryString.Add(cartId, cidval); // } // } // if (!string.IsNullOrEmpty(temp.Query)) { // url = temp.AbsoluteUri.Replace(temp.Query, ""); // } // else { // url = temp.AbsoluteUri; // } // if (queryString.HasKeys()) { // url = url + "?"; // foreach (string item in queryString.AllKeys) { // url = url + item + "=" + HttpUtility.UrlEncode(queryString[item]) + "&"; // } // url = url.TrimEnd('&'); // } //} return url; }
public static void SSLRedirect(MerchantTribeApplication app, Accounts.Store currentStore, SSLRedirectTo RedirectTo) { string CurrentUrl = app.CurrentRequestContext.RoutingContext.HttpContext.Request.RawUrl.ToLower(); //UrlRewriter.GetRewrittenUrlFromRequest(page.Request).ToLower(); string StandardURL = app.StoreUrl(false, true).ToLowerInvariant(); string SecureURL = app.StoreUrl(true, false).ToLowerInvariant(); string sessionId = WebAppSettings.SessionId; string cartId = WebAppSettings.CartId; string currentSessionId = SessionManager.GetCurrentUserId(currentStore); string currentCartId = SessionManager.GetCurrentCartID(currentStore); string url = BuildUrlForRedirect(CurrentUrl, StandardURL, SecureURL, RedirectTo, sessionId, cartId, currentSessionId, currentCartId, false ); //if the urls match, then for some reason we aren't replacing anything //so if we redirect then we will go into a loop if (url != CurrentUrl) { app.CurrentRequestContext.RoutingContext.HttpContext.Response.Redirect(url); } }
public static string BuildUrlForRedirect(string currentUrl, string standardUrl, string secureUrl, SSLRedirectTo redirectTo, string sessionId, string cartId, string currentSessionId, string currentCartId, bool useClearText ) { string url = string.Empty; RemoveAllEncoding(ref currentUrl); RemoveAllEncoding(ref standardUrl); RemoveAllEncoding(ref secureUrl); TripleDesEncryption enc = new TripleDesEncryption(); switch (redirectTo) { case SSLRedirectTo.NonSSL: url = UrlRewriter.SwitchUrlToStandard(currentUrl); break; case SSLRedirectTo.SSL: url = UrlRewriter.SwitchUrlToSecure(currentUrl); break; } //if (differentTld) { // Uri temp = new Uri(url); // NameValueCollection queryString = HttpUtility.ParseQueryString(temp.Query); // object obj = queryString.GetValues(sessionId); // if (!string.IsNullOrEmpty(currentSessionId.Trim())) { // string sesval = currentSessionId; // if ((!useClearText)) { // sesval = enc.Encode(currentSessionId); // } // if (obj != null) { // queryString[sessionId] = sesval; // } // else { // queryString.Add(sessionId, sesval); // } // } // obj = queryString.GetValues(cartId); // if (!string.IsNullOrEmpty(currentCartId.Trim())) { // string cidval = currentCartId; // if ((!useClearText)) { // cidval = enc.Encode(currentCartId); // } // if (obj != null) { // queryString[cartId] = cidval; // } // else { // queryString.Add(cartId, cidval); // } // } // if (!string.IsNullOrEmpty(temp.Query)) { // url = temp.AbsoluteUri.Replace(temp.Query, ""); // } // else { // url = temp.AbsoluteUri; // } // if (queryString.HasKeys()) { // url = url + "?"; // foreach (string item in queryString.AllKeys) { // url = url + item + "=" + HttpUtility.UrlEncode(queryString[item]) + "&"; // } // url = url.TrimEnd('&'); // } //} return(url); }