public ActionResult DangNhap(DangNhapViewModels dnvm) { if (ModelState.IsValid) { //Xác thực người dùng //tkvm.TaiKhoan.Roles = new string[] { "admin" }; if (db.TaiKhoans.Where(ten => ten.TenNguoiDung == dnvm.TenNguoiDung).FirstOrDefault() != null) { var password = EncyptPasswordHelper.EncodePassword(dnvm.MatKhau, db.TaiKhoans.Where(ten => ten.TenNguoiDung == dnvm.TenNguoiDung).FirstOrDefault().VCode); if (password == db.TaiKhoans.Where(ten => ten.TenNguoiDung == dnvm.TenNguoiDung).FirstOrDefault().MatKhau) { //gán mã tk cho viewmodel TaiKhoan tk = new TaiKhoan(); tk = db.TaiKhoans.Where(ma => ma.TenNguoiDung == dnvm.TenNguoiDung).FirstOrDefault(); dnvm.MaTK = tk.MaTK; //chặn lỗi của hàm formauthenticationticket -- , new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects } //Tạo ủy quyền và cookie FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, "taikhoan", DateTime.Now, DateTime.Now.AddMinutes(30), false, JsonConvert.SerializeObject(dnvm)); HttpCookie ck = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)); ck.Expires = DateTime.Now.AddMinutes(30); Response.Cookies.Add(ck); return(RedirectToAction("TrangChu", "TaiKhoan")); } } } ViewBag.Loi = "Tài khoản không hợp lệ! Vui lòng nhập lại!"; return(View()); }
public ActionResult DangKy(DangKyViewModels dkvm) { if (ModelState.IsValid) //xác nhận thông tin { try { var ktTenNguoiDung = db.TaiKhoans.Where(m => m.TenNguoiDung == dkvm.TenNguoiDung).FirstOrDefault(); if (ktTenNguoiDung == null) { //mã hóa mật khẩu var keyNew = EncyptPasswordHelper.GeneratePassword(20); var password = EncyptPasswordHelper.EncodePassword(dkvm.MatKhau, keyNew); //gán thông tin vào 1 tài khoản TaiKhoan tk = new TaiKhoan(); tk.LoaiTK = 3; tk.TenDayDu = dkvm.TenDayDu; tk.TenNguoiDung = dkvm.TenNguoiDung; tk.MatKhau = password; tk.Email = dkvm.Email; tk.NgayDangKy = DateTime.Now; tk.NgayDanhGia = DateTime.Now.AddDays(60); tk.TinhTrang = 0; tk.TongTinDaMua = 0; tk.TongTinConLai = 0; tk.VCode = keyNew; //lưu vào csdl db.TaiKhoans.Add(tk); db.SaveChanges(); ModelState.Clear(); //var code = EncyptPasswordHelper.GeneratePassword(10); Email.GuiEmail_XacNhanTaiKhoan(tk, Url.Action("XacNhanEmail", "TaiKhoan", new { MaTK = tk.MaTK, code = EncyptPasswordHelper.GeneratePassword(10) }, protocol: Request.Url.Scheme)); DangNhapViewModels dnvm = new DangNhapViewModels(); dnvm.TenNguoiDung = dkvm.TenNguoiDung; dnvm.MatKhau = dkvm.MatKhau; return(RedirectToAction("DangNhap", "TaiKhoan", dnvm)); } ViewBag.Loi = "Tên đăng nhập đã tồn tại!"; return(View("DangKy")); } catch (Exception e) { ViewBag.Loi = "Xảy ra lỗi ngoài ý muốn! <br/>" + e; return(View("DangKy")); } } return(View("DangKy")); }
public ActionResult DangNhap_DangKy(DangNhapDangKyViewModel dndkvm) { if (ModelState.IsValid) { if (dndkvm.TenNguoiDung_DN != null) { //Xác thực người dùng //tkvm.TaiKhoan.Roles = new string[] { "admin" }; if (db.TaiKhoans.Where(ten => ten.TenNguoiDung == dndkvm.TenNguoiDung_DN).FirstOrDefault() != null) { var password = EncyptPasswordHelper.EncodePassword(dndkvm.MatKhau_DN, db.TaiKhoans.Where(ten => ten.TenNguoiDung == dndkvm.TenNguoiDung_DN).FirstOrDefault().VCode); if (password == db.TaiKhoans.Where(ten => ten.TenNguoiDung == dndkvm.TenNguoiDung_DN).FirstOrDefault().MatKhau&& db.TaiKhoans.Where(ten => ten.TenNguoiDung == dndkvm.TenNguoiDung_DN).FirstOrDefault().LoaiTK == 4) { //gán mã tk cho viewmodel TaiKhoan tk = new TaiKhoan(); tk = db.TaiKhoans.Where(ma => ma.TenNguoiDung == dndkvm.TenNguoiDung_DN).FirstOrDefault(); DangNhapViewModels dnvm = new DangNhapViewModels(); dnvm.MaTK = tk.MaTK; dnvm.TenNguoiDung = dndkvm.TenNguoiDung_DN; dnvm.MatKhau = dndkvm.MatKhau_DN; //chặn lỗi của hàm formauthenticationticket -- , new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects } //Tạo ủy quyền và cookie FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, dnvm.TenNguoiDung, DateTime.Now, DateTime.Now.AddMinutes(5), false, JsonConvert.SerializeObject(dnvm)); HttpCookie ck = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)); ck.Expires = DateTime.Now.AddMinutes(5); Response.Cookies.Add(ck); return(RedirectToAction("TrangChu", "TaiKhoan_NguoiMua")); } } } else if (dndkvm.TenNguoiDung_DK != null) { try { var ktTenNguoiDung = db.TaiKhoans.Where(m => m.TenNguoiDung == dndkvm.TenNguoiDung_DK).FirstOrDefault(); if (ktTenNguoiDung == null) { //mã hóa mật khẩu var keyNew = EncyptPasswordHelper.GeneratePassword(20); var password = EncyptPasswordHelper.EncodePassword(dndkvm.MatKhau_DK, keyNew); //gán thông tin vào 1 tài khoản TaiKhoan tk = new TaiKhoan(); tk.LoaiTK = 4; tk.TenDayDu = dndkvm.TenDayDu; tk.TenNguoiDung = dndkvm.TenNguoiDung_DK; tk.MatKhau = password; tk.Email = dndkvm.Email; tk.NgayDangKy = DateTime.Now; tk.VCode = keyNew; //lưu vào csdl db.TaiKhoans.Add(tk); db.SaveChanges(); ModelState.Clear(); //var code = EncyptPasswordHelper.GeneratePassword(10); Email.GuiEmail_XacNhanTaiKhoan(tk, Url.Action("XacNhanEmail", "TaiKhoan_NguoiMua", new { MaTK = tk.MaTK, code = EncyptPasswordHelper.GeneratePassword(10) }, protocol: Request.Url.Scheme)); return(RedirectToAction("TrangChu", "TaiKhoan_NguoiMua")); } ViewBag.Loi_DK = "Tên đăng nhập đã tồn tại!"; return(View("DangNhap_DangKy")); } catch (Exception e) { ViewBag.Loi_DK = "Xảy ra lỗi ngoài ý muốn! <br/>" + e; return(View("DangNhap_DangKy")); } } } return(View()); }