Пример #1
0
        private void ProcessRequest(HttpContextBase context)
        {
            var dashboardHtml = Resources.ResourceStrings.Dashboard;
            var user          = context.User == null ? string.Empty : context.User.Identity.Name;

            if ((config.AuthorizedUserList.AllowsAnonymous() || config.AuthorizedUserList.Contains(user)) &&
                ipFilter.IsAuthorizedIpAddress(context))
            {
                var transformedDashboard = TransformDashboard(dashboardHtml);
                context.Response.Write(transformedDashboard);
            }
            else
            {
                context.Response.StatusCode = 401;
            }
            if (context.ApplicationInstance != null)
            {
                context.ApplicationInstance.CompleteRequest();
            }
        }
Пример #2
0
        public void ProcessRequest(HttpContextBase context)
        {
            var url = context.Request.Url.AbsolutePath;

            url = url.EndsWith("/") ? url : url + "/";
            if (string.IsNullOrEmpty(configuration.ResourcePhysicalPath))
            {
                configuration.ResourcePhysicalPath = hostingEnvironment.MapPath(configuration.ResourceVirtualPath);
            }
            var user = context.User == null ? string.Empty : context.User.Identity.Name;

            if ((configuration.AuthorizedUserList.AllowsAnonymous() || configuration.AuthorizedUserList.Contains(user)) &&
                ipFilter.IsAuthorizedIpAddress(context))
            {
                if (url.ToLowerInvariant().Contains("/flushfailures/"))
                {
                    queue.ClearFailures();
                    RRTracer.Trace("Failures Cleared");
                }
                else
                {
                    var key = uriBuilder.ParseKey(url.ToLower().Replace("/flush/rrflush.aspx/", "-flush"));
                    if (key == Guid.Empty)
                    {
                        key = uriBuilder.ParseKey(url.ToLower().Replace("/flush/", "-flush"));
                    }
                    store.Flush(key);
                    RRTracer.Trace("{0} Flushed {1}", user, key);
                }
                if (HttpContext.Current != null)
                {
                    context.Response.Redirect(string.Format("{0}/dashboard", configuration.ResourceAbsolutePath));
                }
            }
            else
            {
                context.Response.StatusCode = 401;
            }
        }