public ActionResult Login(AdminLoginVM loginVM, string returnUrl) { if (!ModelState.IsValid) { return(View()); } if (adminService.IsExist(loginVM.Adm_Account, loginVM.Adm_Password)) { HttpContext.Session.Clear(); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, "Admin", DateTime.Now, DateTime.Now.AddHours(24), false, "Admin" ); //Encrypt cookie string enTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, enTicket)); string decodedUrl = ""; if (!string.IsNullOrEmpty(returnUrl)) { decodedUrl = Server.UrlDecode(returnUrl); } return(RedirectToAction("index")); } else { ModelState.AddModelError("", "帳號或密碼錯誤"); return(View(loginVM)); } }
private async Task LoginAdmin() { AdminLoginVM adminLoginVM = new AdminLoginVM() { Username = TbUsername.Text, Password = TbPassword.Password }; bool access = await adminApi.AuthenticateAdmin(adminLoginVM); if (access) { AdminMainMenu adminMainMenu = new AdminMainMenu(); await adminMainMenu.SetAdminLoggedIn(adminLoginVM); adminMainMenu.Show(); } else { MessageBox.Show("Unsuccessfull login!"); Login loginWindow = new Login(user); loginWindow.TextBlockWelcome.Text = "Welcome Admin"; loginWindow.TextBlockLoginRegister.Text = "Login"; loginWindow.Show(); } }
public async Task SetAdminLoggedIn(AdminLoginVM adminLoginVM) { Admin admin = await adminApi.GetAdminByUidPwd(adminLoginVM); LblFirstName.Text = admin.FirstName; LblLastName.Text = admin.LastName; }
public ActionResult Autenticar(AdminLoginVM vm) { if (ModelState.IsValid) { Login(_domain.Login(vm, Session.SessionID)); return(RedirectToAction("Index", "Home")); } this.AlertError("Atenção!", "Não foi possível autenticar"); return(View(vm)); }
public ActionResult AdminLogin(AdminLoginVM adminVM) { User admin = _userService.GetUserByLogin(adminVM.UserName, adminVM.Password); if (admin != null) { Session["admin"] = admin; Session["categories"] = _categoryService.GetAll(); return(RedirectToAction("Home", "Admin")); } ViewBag.result = "Bilgilerinizi Kontrol Edip Tekrar Deneyiniz."; return(View()); }
public async Task <bool> AuthenticateAdmin(AdminLoginVM adminLoginVM) { StringContent content = GetStringContent(adminLoginVM); HttpClient request = new HttpClient(); HttpResponseMessage response = await request.PostAsync($"{ API_URL }/AuthenticateAdmin", content); if (response.IsSuccessStatusCode) { bool result = await response.Content.ReadAsAsync <bool>(); return(result); } return(false); }
public async Task <Admin> GetAdminByUidPwd(AdminLoginVM adminLoginVM) { StringContent content = GetStringContent(adminLoginVM); HttpClient request = new HttpClient(); HttpResponseMessage response = await request.PostAsync($"{ API_URL }/GetAdminByUidPwd", content); if (response.IsSuccessStatusCode) { Admin admin = await response.Content.ReadAsAsync <Admin>(); return(admin); } return(new Admin()); }
public async Task <IActionResult> Index(AdminLoginVM model) { if (ModelState.IsValid) { var adminuser = _context.AdminUsers.FirstOrDefault(x => x.Email == model.EMail && x.Password == model.Password); if (adminuser != null) { var claims = new List <Claim> { new Claim(ClaimTypes.Name, model.EMail), new Claim(ClaimTypes.Name, adminuser.Name), new Claim(ClaimTypes.UserData, "Admin") //new Claim(ClaimTypes.Role,model.Roles) }; var userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); adminuser.LastLoginDate = DateTime.Now; _context.SaveChanges(); if (HttpContext.User.Identity.IsAuthenticated) { if (HttpContext.User.Claims.ToArray()[2].Value == "Admin") { TempData["UserID"] = HttpContext.User.Claims.ToArray()[0].Value; TempData["UserName"] = HttpContext.User.Claims.ToArray()[1].Value; } } return(RedirectToAction("Home", "AdminArea")); } else { ViewBag.error = "E-Mail or Password wrong!"; return(View()); } } else { return(View()); } }
public Admin GetAdminByUidPwd(AdminLoginVM adminLoginVM) { IEnumerable <Admin> admins = unitOfWork.Admins.GetAll(); string inputPasswordHash = string.Empty; foreach (Admin admin in admins) { if (admin.Username == adminLoginVM.Username) { inputPasswordHash = CreateHashedPasswordWithSaltFromDb(adminLoginVM.Password, admin.PasswordSalt); } } foreach (Admin admin in admins) { if (admin.Username == adminLoginVM.Username && admin.PasswordHash == inputPasswordHash) { return(admin); } } return(new Admin()); }
public bool AuthenticateAdmin(AdminLoginVM adminLoginVM) { IEnumerable <Admin> admins = unitOfWork.Admins.GetAll(); string inputPasswordHash = string.Empty; foreach (Admin admin in admins) { if (admin.Username == adminLoginVM.Username) { inputPasswordHash = CreateHashedPasswordWithSaltFromDb(adminLoginVM.Password, admin.PasswordSalt); } } foreach (Admin admin in admins) { if (admin.Username == adminLoginVM.Username && admin.PasswordHash == inputPasswordHash) { return(true); } } return(false); }
public ActionResult Index(AdminLoginVM model) { model.Password = Encryptor.MD5Hash(model.Password); var response = Request["g-recaptcha-response"]; const string secret = "6LeKKSMUAAAAAC4s-mflMky8XggtaatxKcx-cQ1y"; var client = new WebClient(); var reply = client.DownloadString( string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, response)); var captchaResponse = JsonConvert.DeserializeObject <CaptchaResponse>(reply); if (ModelState.IsValid) { bool adminVarMi = db.AdminUsers.Any(q => q.email.TrimStart().ToLower() == model.EMail.TrimStart().ToLower() && q.password == model.Password); AdminUser admin = db.AdminUsers.FirstOrDefault(q => q.email.TrimStart() == model.EMail.TrimStart()); bool adminn = db.AdminUsers.Any(q => q.email.TrimStart().ToLower() != model.EMail.TrimStart().ToLower()); if (adminVarMi && admin.Rejcount < 2) { FormsAuthentication.SetAuthCookie(model.EMail, true); admin.Rejcount = 0; admin.lastlogindate = DateTime.Now; db.SaveChanges(); return(RedirectToAction("Index", "AdminHome")); } else if (adminn) { ViewBag.IslemDurum = EnumIslemDurum.AdminLoginError; return(View()); } else if (!adminVarMi && admin.Rejcount < 2) { admin.Rejcount++; db.SaveChanges(); ViewBag.IslemDurum = EnumIslemDurum.AdminLoginError; return(View()); } else { ViewBag.IslemDurum = EnumIslemDurum.ThreeTimesWrong; if (!captchaResponse.Success) { TempData["Message"] = "Lütfen güvenliği doğrulayınız."; } else { TempData["Message"] = "Güvenlik başarıyla doğrulanmıştır."; if (adminVarMi) { FormsAuthentication.SetAuthCookie(model.EMail, true); admin.Rejcount = 0; admin.lastlogindate = DateTime.Now; db.SaveChanges(); return(RedirectToAction("Index", "AdminHome")); } else { ViewBag.IslemDurum = EnumIslemDurum.ThreeTimesWrong; return(View()); } } } } return(View()); }