public void ProcessLoginForm() { WebAuthentication auth = WebAuthentication.Instance; if (auth.ProcessLoginForm("SprocketUsername", "SprocketPassword", "SprocketPreserveLogin")) { if (WebAuthentication.VerifyAccess(PermissionType.AccessAdminArea)) { WebUtility.Redirect("admin"); } else { auth.ClearAuthenticationCookie(); } } FormValues.Set("login", "", null, true); }
void OnLoadRequestedPath(HttpApplication app, string path, string[] pathSections, HandleFlag handled) { if (pathSections.Length == 0) { return; } if (pathSections[0] != "admin") { return; } bool processed = false; string lastchunk = pathSections[pathSections.Length - 1]; switch (lastchunk) { case "admin.css": HttpContext.Current.Response.TransmitFile("~/resources/admin/admin.css"); HttpContext.Current.Response.ContentType = "text/css"; processed = true; break; default: WebAuthentication auth = WebAuthentication.Instance; HttpResponse Response = HttpContext.Current.Response; HttpServerUtility Server = HttpContext.Current.Server; switch (path) { case "admin/login": ShowLoginScreen(); processed = true; break; case "admin/logout": auth.ClearAuthenticationCookie(); Response.Redirect(WebUtility.MakeFullPath("admin/login")); processed = true; break; case "admin/login/process": if (auth.ProcessLoginForm("SprocketUsername", "SprocketPassword", "SprocketPreserveLogin")) { Response.Redirect(WebUtility.MakeFullPath("admin")); } else { ShowLoginScreen("Invalid Username and/or Password."); } processed = true; break; default: if (!auth.IsLoggedIn) { GotoLoginScreen(); processed = true; } else if (OnCMSAdminAuthenticationSuccess != null) { Result result = new Result(); OnCMSAdminAuthenticationSuccess(auth.CurrentUsername, result); if (!result.Succeeded) { ShowLoginScreen(result.Message); processed = true; } } break; } break; } if (processed) { handled.Set(); return; } if (OnAdminRequest != null) { AdminInterface admin = new AdminInterface(); OnAdminRequest(admin, path, pathSections, handled); if (handled.Handled) { WebClientScripts scripts = WebClientScripts.Instance; admin.AddMainMenuLink(new AdminMenuLink("Current Overview", WebUtility.MakeFullPath("admin"), -100)); admin.AddMainMenuLink(new AdminMenuLink("Log Out", WebUtility.MakeFullPath("admin/logout"), 100)); admin.AddFooterLink(new AdminMenuLink("© 2005-" + DateTime.Now.Year + " " + SprocketSettings.GetValue("WebsiteName"), "", 100)); string powered = SprocketSettings.GetValue("ShowPoweredBySprocket"); if (powered != null) { if (StringUtilities.MatchesAny(powered.ToLower(), "true", "yes")) { admin.AddFooterLink(new AdminMenuLink("Powered by Sprocket", "http://www.sprocketcms.com", 1000)); } } admin.AddHeadSection(new RankedString(scripts.BuildStandardScriptsBlock(), 1)); HttpContext.Current.Response.Write(admin.Render(path)); } } }