public ActionResult DoctorLogin(DoctorLoginViewModel LoginFromViewModel) { var doc = repository.GetDoctor(LoginFromViewModel); if (doc == null) { return(Content("Invalid Doctor Id or Mail Id")); } else if (doc.PassWord == LoginFromViewModel.PassWord) { return(RedirectToAction("Index", "Doctor")); } return(Content("Incorrect Password....Try again!!!!")); }
public IActionResult Login(DoctorLoginViewModel indexViewModel) { ViewBag.DoctorName = HttpContext.Session.GetString(Globals.currentUserName); if (!ModelState.IsValid) { return(View(indexViewModel)); } string signPrivateKey = null, agreePrivateKey = null; Assets <UserCredAssetData> userAsset = _bigChainDbService.GetUserAssetFromTypeID(AssetType.Doctor, indexViewModel.DoctorMINC); if (userAsset == null) { ModelState.AddModelError("", "We could not find a matching user"); return(View(indexViewModel)); } var hashedKeys = userAsset.data.Data.PrivateKeys; try { EncryptionService.getPrivateKeyFromIDKeyword(indexViewModel.DoctorMINC, indexViewModel.DoctorKeyword, hashedKeys, out signPrivateKey, out agreePrivateKey); } catch { ModelState.AddModelError("", "Keyword may be incorrect"); return(View(indexViewModel)); } UserCredMetadata userMetadata = _bigChainDbService.GetMetadataFromAssetPublicKey <UserCredMetadata>(userAsset.id, EncryptionService.getSignPublicKeyStringFromPrivate(signPrivateKey)); var password = indexViewModel.password; if (EncryptionService.verifyPassword(password, userMetadata.hashedPassword)) { HttpContext.Session.SetString(Globals.currentDSPriK, signPrivateKey); HttpContext.Session.SetString(Globals.currentDAPriK, agreePrivateKey); HttpContext.Session.SetString(Globals.currentUserName, $"{userAsset.data.Data.FirstName} {userAsset.data.Data.LastName}"); HttpContext.Session.SetString(Globals.currentUserID, userAsset.data.Data.ID); return(RedirectToAction("PatientLookUp")); } else { ModelState.AddModelError("", "Password or Keyword incorrect."); return(View(indexViewModel)); } }
public async Task <IActionResult> Login(DoctorLoginViewModel model) { var dr = _context.Doctors.Where(p => p.Username == model.Username && p.Password == model.Password).FirstOrDefault(); if (dr != null) { HttpContext.Session.Set("doctor", dr); var claims = new List <Claim> { new Claim(ClaimTypes.Name, dr.NameFirst), new Claim(ClaimTypes.Role, "doctor") }; ClaimsIdentity userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); return(RedirectToAction("Index", "Doctor")); } return(View("Login")); }
// [ValidateAntiForgeryToken] public async Task <ActionResult> Login(DoctorLoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = await UserManager.FindAsync(model.UserName, model.Password); if (user != null) { if (UserManager.IsInRole(user.Id, "Doctor")) { await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false); if (String.IsNullOrEmpty(returnUrl)) { return(RedirectToAction("Index", "DoctorAccount", new { area = "Doctor" })); } else { return(RedirectToLocal(returnUrl)); } } else { ModelState.AddModelError("", "Invalid username or password."); } } else { ModelState.AddModelError("", "Invalid username or password."); } } // If we got this far, something failed, redisplay form return(View(model)); }
public Doctor GetDoctor(DoctorLoginViewModel LoginFromViewModel) { var doc = dbContext.Doctors.FirstOrDefault(e => e.EmailId == LoginFromViewModel.UserId || e.DoctorId.ToString() == LoginFromViewModel.UserId); return(doc); }