private ActionResult ValidateUser(UserLoginModel Model, string ReturnUrl) { SetTermOfUse(); string formId = "", pageNumber; if (ReturnUrl == null || !ReturnUrl.Contains("/")) { ReturnUrl = "/Home/Index"; } else { formId = ReturnUrl.Substring(0, ReturnUrl.IndexOf('/')); pageNumber = ReturnUrl.Substring(ReturnUrl.LastIndexOf('/') + 1); } try { Epi.Web.Enter.Common.Message.UserAuthenticationResponse result = _isurveyFacade.ValidateUser(Model.UserName, Model.Password); if (result.UserIsValid) { if (result.User.ResetPassword) { UserResetPasswordModel model = new UserResetPasswordModel(); model.UserName = Model.UserName; model.FirstName = result.User.FirstName; model.LastName = result.User.LastName; ReadPasswordPolicy(model); return(ResetPassword(model)); } else { FormsAuthentication.SetAuthCookie(Model.UserName, false); string UserId = Epi.Web.Enter.Common.Security.Cryptography.Encrypt(result.User.UserId.ToString()); Session["UserId"] = UserId; //Session["UsertRole"] = result.User.Role; Session["UserHighestRole"] = result.User.UserHighestRole; Session["UserEmailAddress"] = result.User.EmailAddress; Session["UserFirstName"] = result.User.FirstName; Session["UserLastName"] = result.User.LastName; Session["UGuid"] = result.User.UGuid; return(RedirectToAction(Epi.Web.MVC.Constants.Constant.INDEX, "Home", new { surveyid = formId })); //return Redirect(ReturnUrl); } } //else { ModelState.AddModelError("", "The email or password you entered is incorrect."); Model.ViewValidationSummary = true; return(View(Model)); } } catch (Exception) { ModelState.AddModelError("", "The email or password you entered is incorrect."); Model.ViewValidationSummary = true; return(View(Model)); throw; } }
public ActionResult Index(string responseId, string ReturnUrl) { string version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); ViewBag.Version = version; //get the responseId responseId = GetResponseId(ReturnUrl); if (!string.IsNullOrEmpty(responseId)) { //get the surveyId string SurveyId = _isurveyFacade.GetSurveyAnswerResponse(responseId).SurveyResponseList[0].SurveyId; //put surveyId in viewbag so can be retrieved in Login/Index.cshtml ViewBag.SurveyId = SurveyId; } if (string.IsNullOrEmpty(GetPassCode(ReturnUrl))) { return(View("Index")); } else { Epi.Web.Common.Message.UserAuthenticationResponse result = _isurveyFacade.ValidateUser(responseId, GetPassCode(ReturnUrl)); if (result.UserIsValid) { FormsAuthentication.SetAuthCookie(GetPassCode(ReturnUrl), false); ReturnUrl = GetRedirectUrl(ReturnUrl); return(Redirect(ReturnUrl)); } else { return(View()); } } }