public JsonResult UpdatePassword() { var crypto = new TokenCryptography(); try { var userId = Request["userId"]; var serializer = new JavaScriptSerializer(); var headers = new Dictionary <string, object>(); var newPassword = HttpContext.Request["newpassword"]; var confirmPassword = HttpContext.Request["confirmpassword"]; var ipAddress = Request.UserHostAddress; var encryptedPassword = crypto.Encrypt(newPassword, ipAddress); headers.Add("newpassword", Convert.ToBase64String(Encoding.UTF8.GetBytes(encryptedPassword))); var responseObj = serializer.Deserialize <ApiResponse>(_apiHandler.ApiProcessor("/api/accounts/changepassword", headers, new Dictionary <string, object> { { "userId", userId } })); } catch (Exception) { var result = new { status = false, key = "error", value = "Password updation has been failed." }; return(Json(new { Data = result })); } var finalResult = new { status = true, key = "success", value = "Password has been updated successfully." }; return(Json(new { Data = finalResult })); }
public ActionResult Login(string username, string password, string remember, string returnUrl) { var tokenCryptography = new TokenCryptography(); if (username != null && password != null) { var ipAddress = Request.UserHostAddress; var encryptedUsername = tokenCryptography.Encrypt(username, ipAddress); var encryptedPassword = tokenCryptography.Encrypt(password, ipAddress); LogExtension.LogInfo("Login Encryption done", MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl); var headers = new Dictionary <string, object> { { "Authorization", Convert.ToBase64String(Encoding.UTF8.GetBytes(encryptedUsername + ":" + encryptedPassword)) } }; LogExtension.LogInfo("Login API requested", MethodBase.GetCurrentMethod()); var apiResponse = _javaScriptSerializer.Deserialize <ApiResponse>(_apiHandler.ApiProcessor("/api/accounts/login", headers, new Dictionary <string, object>())); var apiData = DictionaryHelper.GetObject(apiResponse.Data as Dictionary <string, object>, typeof(ApiData)) as ApiData; LogExtension.LogInfo("Login API Data received", MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl); LogExtension.LogInfo("Login result is " + apiData.StatusText, MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl); var isValid = apiData.StatusText; switch (isValid.ToLower()) { case "validuser": var userDetail = _userManagement.FindUserByUserName(username); FormsAuthentication.SetAuthCookie(userDetail.UserId.ToString(), remember != null && remember.ToLower().Trim() == "on"); GlobalAppSettings.SetTimeZone(userDetail.UserId); HttpContext.Session["displayname"] = userDetail.DisplayName; HttpContext.Session["firstname"] = userDetail.FirstName; HttpContext.Session["lastname"] = userDetail.LastName; HttpContext.Session["IsAdmin"] = GlobalAppSettings.IsAdmin(userDetail.UserId); _userManagement.UpdateLoginTime(userDetail.UserId, DateTime.UtcNow); if (String.IsNullOrWhiteSpace(returnUrl)) { return(RedirectToAction("reports", "reports")); } return(Redirect(returnUrl)); case "invalidpassword": TempData["currentValue"] = username; TempData["errorUserName"] = ""; TempData["errorPassword"] = apiData.Message; TempData["errorUserStatus"] = ""; TempData["errorPasswordStatus"] = "inline-block"; return(View()); case "throttleduser": TempData["errorUserName"] = ""; TempData["errorPassword"] = ""; TempData["User"] = apiData.Message; return(View()); case "invalidusername": TempData["currentValue"] = username; TempData["errorUserName"] = apiData.Message; TempData["errorPassword"] = ""; TempData["errorUserStatus"] = "inline-block"; TempData["errorPasswordStatus"] = ""; return(View()); case "deactivateduser": TempData["errorUserName"] = ""; TempData["errorPassword"] = ""; TempData["errorUserStatus"] = "inline-block"; TempData["User"] = apiData.Message; return(View()); default: TempData["errorUserName"] = ""; TempData["errorPassword"] = ""; TempData["errorUserStatus"] = "inline-block"; TempData["User"] = apiData.Message; return(View()); } } return(View()); }