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 UsreLogin(); userSession.UserName = user.UserName; userSession.UserID = user.ID; Session.Add(CommonConstants.USER_SESSION, userSession); return(Redirect("/")); } 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(model)); }
//register protected void register_Click(object sender, EventArgs e) { //first click JUST OPEN REGISTER OPTION if (register_button.Text == "Register") { nameL.Visible = true; nameT.Visible = true; register_button.Text = "Finish"; } else { string name = nameT.Text; string mail = mailT.Text; string Password = passwordT.Text; if (name == "" || mail == "" || Password == "") { //username or password wrong, we need to add gui to notify the user return; } UsreLogin UL = new UsreLogin(name, mail, Password); string resultStr = postJSON(UL); if (resultStr.CompareTo("False") == 0) { mailT.Text = ""; passwordT.Text = ""; } else { player me = (player)myJavaScriptSerializer.Deserialize <player>(resultStr); Response.Cookies["playerCookie"].Value = resultStr; Response.Redirect("Default.aspx"); } } }
//send userLogin class as json to server private String postJSON(UsreLogin ul) { try { //PORT OF LOCAL COMPUTER CHANGES ALL THE TIME PLEASE MAKE SURE THAT U HAVE THE RIGHT PORT NUMBER. string url = "http://localhost:53018/LoginHandler.ashx"; string sendStr = myJavaScriptSerializer.Serialize(ul); url += "?JSON=" + sendStr; HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); Stream receiveStream = myHttpWebResponse.GetResponseStream(); Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); StreamReader readStream = new StreamReader(receiveStream, encode); Char[] read = new Char[1000]; int count = readStream.Read(read, 0, 256); myHttpWebResponse.Close(); readStream.Close(); return(new String(read, 0, count)); } catch (Exception e) { //server or intenet error return("ERROR"); } }
//login protected void login_Click(object sender, EventArgs e) { string mail = mailT.Text; string Password = passwordT.Text; if (mail == "" || Password == "") { //username or password wrong, we need to add gui to notify the user return; } //PORT OF LOCAL COMPUTER CHANGES ALL THE TIME PLEASE MAKE SURE THAT U HAVE THE RIGHT PORT NUMBER. UsreLogin UL = new UsreLogin(mail, Password); string resultStr = postJSON(UL); if (resultStr.CompareTo("False") == 0) { mailT.Text = ""; passwordT.Text = ""; } else { player me = (player)myJavaScriptSerializer.Deserialize <player>(resultStr); Response.Cookies["playerCookie"].Value = resultStr; Response.Redirect("Default.aspx"); } }
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 UsreLogin(); userSession.UserName = user.UserName; userSession.UserID = user.ID; Session.Add(CommonConstants.USER_SESSION, userSession); } } return(Redirect("/")); }