public ActionResult RenderLogin() { ForumLoginViewModel login = new ForumLoginViewModel(); Logger.Info <ForumAuthSurfaceController>("Login URL: {0}", HttpContext.Request.Url?.AbsolutePath); login.ReturnUrl = HttpContext.Request.Url?.ToString(); if (HttpContext.Request.Url?.AbsolutePath == Umbraco.GetDictionaryValue("ForumAuthConstants.LoginUrl", "/login").TrimEnd('/')) { login.ReturnUrl = "/forums"; } return(PartialView(Umbraco.GetDictionaryValue("ForumAuthConstants.LoginView", "Member/ForumAuth.Login"), login)); }
public ActionResult HandleLogin(ForumLoginViewModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } if (Members.IsLoggedIn()) { return(RedirectToRoute(model.ReturnUrl)); } // login in the user try { if (Members.Login(model.EmailAddress, model.Password)) { // logged in var member = Members.GetByEmail(model.EmailAddress); if (member != null) { if (member.Value <bool>(ForumAuthConstants.AccountVerifiedProperty)) { // a valid and verified user here be! TempData["returnUrl"] = model.ReturnUrl; return(RedirectToCurrentUmbracoPage()); } else { // we need to validate this account before they can logon. ModelState.AddModelError(ForumAuthConstants.LoginKey, Umbraco.GetDictionaryValue("MemberAuth.Login.NotVerified", "Email has not been verified")); Members.Logout(); return(CurrentUmbracoPage()); } } else { // can't find the user...? ModelState.AddModelError(ForumAuthConstants.LoginKey, Umbraco.GetDictionaryValue("MemberAuth.Login.NoUser", "Invalid Details")); } } else { // can't login this person... ModelState.AddModelError(ForumAuthConstants.LoginKey, Umbraco.GetDictionaryValue("MemberAuth.Login.LoginFail", "Invalid Details")); } } catch (Exception ex) { // somethig big time went boom... Logger.Error <ForumAuthSurfaceController>("Error logging on {0}", ex.ToString()); ModelState.AddModelError(ForumAuthConstants.LoginKey, "Error logging on" + ex); } return(CurrentUmbracoPage()); }