Ejemplo n.º 1
0
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            if (ShouldBypassProcessing())
            {
                return;
            }

            if (Util.AppOffline)
            {
                Response.Redirect("/Errors/AppOffline.htm");
                return;
            }

            //            MiniProfiler.Start();

            var r        = DbUtil.CheckDatabaseExists(Util.CmsHost);
            var redirect = ViewExtensions2.DatabaseErrorUrl(r);

#if DEBUG
            if (r == DbUtil.CheckDatabaseResult.ServerNotFound)
            {
                Response.Redirect(redirect);
                return;
            }
            if (r == DbUtil.CheckDatabaseResult.DatabaseDoesNotExist && HttpContext.Current.Request.Url.LocalPath.EndsWith("/"))
            {
                var ret = DbUtil.CreateDatabase();
                if (ret.HasValue())
                {
                    Response.Redirect($"/Errors/DatabaseCreationError.aspx?error={HttpUtility.UrlEncode(ret)}");
                    return;
                }
            }
#else
            if (redirect != null)
            {
                Response.Redirect(redirect);
                return;
            }
#endif
            try
            {
                Util.AdminMail      = DbUtil.Db.Setting("AdminMail", "");
                Util.DateSimulation = DbUtil.Db.Setting("UseDateSimulation");
            }
            catch (SqlException)
            {
                throw;
                //Response.Redirect($"/Errors/DatabaseNotInitialized.aspx?dbname={Util.Host}");
            }

            var cul = DbUtil.Db.Setting("Culture", "en-US");
            Util.Culture = cul;
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul);
            Thread.CurrentThread.CurrentCulture   = CultureInfo.CreateSpecificCulture(cul);

            var checkip = ConfigurationManager.AppSettings["CheckIp"];
            if (Util.IsHosted && checkip.HasValue())
            {
                if (1 == DbUtil.Db.Connection.ExecuteScalar <int>(checkip, new { ip = Request.UserHostAddress }))
                {
                    Response.Redirect("/Errors/AccessDenied.htm");
                }
            }

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
        }
Ejemplo n.º 2
0
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            if (IsRackspaceMonitoring())
            {
                Response.StatusCode  = (int)HttpStatusCode.OK;
                Response.ContentType = "text/plain";
                Response.Write("OK");
                CompleteRequest();
                return;
            }

            if (HandleBvcmsDomain())
            {
                return;
            }

            if (ShouldBypassProcessing())
            {
                return;
            }

            Response.Headers?.Remove("Server");

            var host     = CMSDataContext.GetHost(new HttpContextWrapper(Context));
            var r        = DbUtil.CheckDatabaseExists($"CMS_{host}");
            var redirect = ViewExtensions2.DatabaseErrorUrl(r);

            if (Util.IsDebug())
            {
                if (r == DbUtil.CheckDatabaseResult.ServerNotFound)
                {
                    Response.Redirect(redirect);
                    return;
                }
                if (r == DbUtil.CheckDatabaseResult.DatabaseDoesNotExist && "localhost".Equal(Request.Url.Host))
                {
                    var ret = DbUtil.CreateDatabase(host);
                    if (ret.HasValue())
                    {
                        Response.Redirect($"/Errors/DatabaseCreationError.aspx?error={HttpUtility.UrlEncode(ret)}");
                        return;
                    }
                }
            }
            else
            {
                if (redirect != null)
                {
                    Response.Redirect(redirect);
                    return;
                }
            }

            var db = CMSDataContext.Create(new HttpContextWrapper(Context));

            Util.AdminMail      = db.Setting("AdminMail", "");
            Util.DateSimulation = db.Setting("UseDateSimulation");

            var cul = db.Setting("Culture", "en-US");

            Util.Culture = cul;
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul);
            Thread.CurrentThread.CurrentCulture   = CultureInfo.CreateSpecificCulture(cul);

            var checkip = ConfigurationManager.AppSettings["CheckIp"];

            if (Util.IsHosted && checkip.HasValue())
            {
                if (1 == db.Connection.ExecuteScalar <int>(checkip, new { ip = Request.UserHostAddress }))
                {
                    Response.Redirect("/Errors/AccessDenied.htm");
                }
            }

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
        }