public async Task <JsonNetResult> Modal(LoginPostViewModel model) { var loginResponse = new GetLoginResponse(); if (string.IsNullOrWhiteSpace(model.Language) || string.IsNullOrEmpty(model.Language)) { loginResponse.Success = false; loginResponse.ResponseData = null; loginResponse.Message = "An error has occured."; if (_logger.IsErrorEnabled) { _logger.Error("Language is null or empty in Modal POST action of surface controller LoginController"); } return(ReturnJsonResponse(loginResponse)); } var culture = GetCultureInformationForLanguage(model.Language); string locale = culture.Locale; string countryCode = culture.CountryCode; if (ModelState.IsValid) { var syncResult = await _syncService.SynchroniseUmbracoMember(locale, countryCode, model.Username, model.Password); //differentiate between the back office users and website members if (_membershipService.ValidateUser(model.Username, model.Password) && _umbracoHelper.MemberExists(model.Username)) { _formsAuthenticationService.SignIn(model.Username, model.RememberMe); var umbracoMember = _umbracoHelper.RetrieveUmbracoMember(model.Username); var user = MapUser(umbracoMember); loginResponse.Success = true; loginResponse.ResponseData = user; return(ReturnJsonResponse(loginResponse)); } loginResponse.Success = false; loginResponse.ResponseData = null; loginResponse.Message = "Invalid credentials"; return(ReturnJsonResponse(loginResponse)); } loginResponse.Success = false; loginResponse.Message = GetErrorsFromModelState(ModelState).FirstOrDefault(); return(ReturnJsonResponse(loginResponse)); }
public IHttpResponse LoginPost(LoginPostViewModel model) { var hashedPassword = this.hashService.Hash(model.Password); var user = this.Context .Users .FirstOrDefault(u => u.Username == model.Username && u.HashedPassword == hashedPassword); if (user == null) { return(this.Redirect("/Users/Login")); } var response = this.Redirect("/"); this.SignInUser(model.Username); return(response); }