public ActionResult LoginForm(LoginModel model) { model.Username = model.Username.Trim(); model.Password = model.Password.Trim(); var provider = Membership.Providers.GetBackOfficeMembershipProvider(); if (provider.ValidateUser(model.Username, model.Password)) { if (provider.IsDefaultBackOfficeMembershipProvider()) { var umpProvider = (BackOfficeMembershipProvider)provider; var umbracoUser = umpProvider.GetUmbracoUser(model.Username, false); HttpContext.CreateUmbracoAuthTicket(umbracoUser); //check if the ReturnUrl is specified in the route var redirectUrl = HttpContext.Request["ReturnUrl"]; if (!string.IsNullOrEmpty(redirectUrl) && !(redirectUrl.StartsWith("http") && !redirectUrl.StartsWith(HttpContext.Request.Url.Scheme + "://" + HttpContext.Request.Url.Authority))) { return Redirect(HttpContext.Request["ReturnUrl"]); } //check if it is an overlay login (auth timeout) if (model.DisplayType == LoginDisplayType.DisplayingOverlay) { return View("LoginOverlaySuccess"); } return RedirectToAction("App"); } } ModelState.AddModelError("Login.Invalid", "Login.Invalid".Localize(this)); return View(model); }
public ActionResult LoginForm(LoginModel model) { model.Username = model.Username.Trim(); model.Password = model.Password.Trim(); var membershipService = BackOfficeRequestContext.Application.Security.Users; if (membershipService.Validate(model.Username, model.Password)) { var user = membershipService.GetByUsername(model.Username, false); var userData = BackOfficeRequestContext.Application.FrameworkContext.TypeMappers.Map<UserData>(user); HttpContext.CreateUmbracoAuthTicket(userData); //check if the ReturnUrl is specified in the route var redirectUrl = HttpContext.Request["ReturnUrl"]; if (!string.IsNullOrEmpty(redirectUrl) && !(redirectUrl.StartsWith("http") && !redirectUrl.StartsWith(HttpContext.Request.Url.Scheme + "://" + HttpContext.Request.Url.Authority))) { return Redirect(HttpContext.Request["ReturnUrl"]); } //check if it is an overlay login (auth timeout) if (model.DisplayType == LoginDisplayType.DisplayingOverlay) { return View("LoginOverlaySuccess"); } return RedirectToAction("App"); } ModelState.AddModelError("Login.Invalid", "Login.Invalid".Localize(this)); return View(model); }