public ActionResult Index(LoginModel model) { if (Membership.ValidateUser(model.TenTaiKhoan, model.MatKhau) && ModelState.IsValid) { FormsAuthentication.SetAuthCookie(model.TenTaiKhoan, true); var taikhoanRepo = new TaiKhoanRepository(); var userInfo = taikhoanRepo.getTaiKhoanInfo(model.TenTaiKhoan); var userSession = new UserSession(); userSession.UserName = model.TenTaiKhoan; userSession.Quyen = userInfo.Data.Select(m => m.MaQuyen).FirstOrDefault(); Session.Add(Constance.Constance.USER_SESSION, userSession); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Tên đăng nhập hoặc mật khẩu không đúng"); if (string.IsNullOrEmpty(model.TenTaiKhoan)) { ModelState.AddModelError("", "Tên đăng nhập không được để trống"); } if (string.IsNullOrEmpty(model.MatKhau)) { ModelState.AddModelError("", "Mật khẩu không được để trống"); } } return(View(model)); }
protected void Application_AuthenticateRequest() { if (IgnoreAuthenticateRequest()) return; EnhancedPrincipal user; if (User != null && User.Identity.IsAuthenticated && User.Identity.AuthenticationType == "Forms") { var repository = new TaiKhoanRepository(); TaiKhoan dbUser = repository.GetTaiKhoanByID(int.Parse(User.Identity.Name)); user = new EnhancedPrincipal(User.Identity, dbUser); } else { user = EnhancedPrincipal.Anonymous; } HttpContext.Current.User = Thread.CurrentPrincipal = user; }