示例#1
0
        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!!!!"));
        }
示例#2
0
        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));
            }
        }
示例#3
0
        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"));
        }
示例#4
0
        // [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));
        }
示例#5
0
        public Doctor GetDoctor(DoctorLoginViewModel LoginFromViewModel)
        {
            var doc = dbContext.Doctors.FirstOrDefault(e => e.EmailId == LoginFromViewModel.UserId || e.DoctorId.ToString() == LoginFromViewModel.UserId);

            return(doc);
        }