public ActionResult Login(LoginModel model) { if (ModelState.IsValid) { var dao = new UserDao(); var result = dao.Login(model.UserName, Encryptor.MD5Hash(model.Password)); if (result == 1) { var user = dao.GetById(model.UserName); var userSession = new UserLogin(); userSession.UserName = user.UserName; userSession.UserID = user.ID; Session.Add(CommonConstants.USER_SESSION, userSession); return RedirectToAction("Index", "Home"); } else if (result == 0) { ModelState.AddModelError("", "Tài khoản không tồn tại."); } else if (result == -1) { ModelState.AddModelError("", "Tài khoản đang bị khóa."); } else if (result == -2) { ModelState.AddModelError("", "Mật khẩu không đúng."); } else { ModelState.AddModelError("", "Đăng nhập không đúng."); } } return View("Index"); }
public ActionResult FacebookCallback(string code) { var fb = new FacebookClient(); dynamic result = fb.Post("oauth/access_token", new { client_id = ConfigurationManager.AppSettings["FbAppId"], client_secret = ConfigurationManager.AppSettings["FbAppSecret"], redirect_uri = RedirectUri.AbsoluteUri, code = code }); var accessToken = result.access_token; if (!string.IsNullOrEmpty(accessToken)) { fb.AccessToken = accessToken; //Get the user's information, like email, first name, middle name etc... dynamic me = fb.Get("me?fields=first_name,middle_name,last_name,id,email"); string email = me.email; string username = me.email; string firstname = me.first_name; string middlename = me.middle_name; string lastname = me.last_name; var user = new User(); user.Email = email; user.Username = email; user.Status = true; user.Name = firstname + " " + middlename + " " + lastname; user.CreatedDate = DateTime.Now; var resultInsert = new UserDao().InsertForFacebook(user); if (resultInsert > 0) { var userSession = new UserLogin(); userSession.UserName = user.Username; userSession.UserID = user.ID; Session.Add(CommonConstants.USER_SESSION, userSession); return Redirect("/"); } } return Redirect("/"); }