예제 #1
0
        public async Task<ActionResult> Login(LoginModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            var user = await UserManager.FindAsync(model.UserName, model.Password);
            if (user == null)
                user = await UserManager.FindByEmailAsync(model.UserName);
            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result= SignInStatus.Failure;
            if(user!=null)
               result= await SignInManager.PasswordSignInAsync(user.UserName, model.Password, model.RememberMe, shouldLockout: false);
            else
                result=await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);

            switch (result)
            {
                case SignInStatus.Success:
                  

                    if (UserManager.IsInRole(user.Id, "Student"))
                        {
                            return RedirectToAction("Index", "Students");
                        }
                        //role Admin go to Admin page
                        else if (UserManager.IsInRole(user.Id, "Admin"))
                        {
                            return RedirectToAction("Index", "Admin");
                        }
                        else
                            return RedirectToAction("Index", "Tutors");
                    
                case SignInStatus.LockedOut:
                    return View("Lockout");
                case SignInStatus.RequiresVerification:
                    return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
                case SignInStatus.Failure:

                default:
                    ModelState.AddModelError("", "Username and password do not match.");
                    ViewBag.error = "login";
                    return View("../Home/Index",model);
            }
        }
예제 #2
0
        public JsonResult Login(List<string> val)
        {
            LoginModel lm= new LoginModel();
            lm.UserName = val[0];
            lm.PassWord = val[1];
               var sTatus = "please login!";
            IBusinessAuthentication iau = GenericFactory<BusinessLayer, IBusinessAuthentication>.CreateInstance();
            try
            {
                string chkAcctNum = iau.IsValidUser(Utils.StripPunctuation(lm.UserName),
                    Utils.StripPunctuation(lm.PassWord));
                //  string chkAcctNum = iau.IsValidUser(txtUsername.Text,
                //      txtPassword.Text);

                if (chkAcctNum != "")
                {
                    sTatus = "Welcome User";
                    SessionFacade.USERNAME = lm.UserName;
                    SessionFacade.CHECKINGACCTNUM = chkAcctNum;
                    if (SessionFacade.PAGEREQUESTED != null)
                        Response.Redirect(SessionFacade.PAGEREQUESTED);
                }

                else
                {
                    sTatus = "Invalid User..";
                    return Json(sTatus);
                }
            }
            catch (Exception ex)
            {
                sTatus = "My  mistake ! try again !";
                return Json(sTatus);
            }

            return Json(sTatus);
        }
예제 #3
0
 public HomeViewModel()
 {
     Login = new LoginModel();
     RegisterClient = new StudentRegisterModel();
     RegisterExpert = new TutorRegisterModel();
 }