public Zaposlenik PrijavljeniZaposlenik(ZaposlenikZaLogin zaposlenik) { Zaposlenik userData = DbContext.Zaposlenici .FirstOrDefault(z => z.KorisnickoIme == zaposlenik.KorisnickoIme); if (userData == null) { return(null); } byte[] salt = Convert.FromBase64String(userData.LozinkaSalt); var pkdbf2 = new Rfc2898DeriveBytes(zaposlenik.Lozinka, salt, 5000); byte[] hash = pkdbf2.GetBytes(20); byte[] passwordHash = new byte[52]; Array.Copy(salt, 0, passwordHash, 0, 32); Array.Copy(hash, 0, passwordHash, 32, 20); if (Convert.ToBase64String(passwordHash) != userData.Lozinka) { return(null); } return(userData); }
public ActionResult Prijava(ZaposlenikZaLogin zaposlenik) { if (ModelState.IsValid) { zaposlenik.KorisnickoIme = zaposlenik.KorisnickoIme.ToLower(); Zaposlenik trenutniZaposlenik = _zaposlenici.PrijavljeniZaposlenik(zaposlenik); if (trenutniZaposlenik != null) { string token = TokenManager.GenerateToken(trenutniZaposlenik); //If expiration date isn't set, cookie disappears when browser is closed HttpCookie cookie = new HttpCookie("auth_token") { Value = token, HttpOnly = true, Expires = DateTime.Now.AddMinutes(30) }; System.Web.HttpContext.Current.Response.Cookies.Add(cookie); return(RedirectToAction("Predbiljezba", "Home")); } ViewBag.ErrorMessage = "Korisničko ime ili lozinka nisu ispravni!"; } return(View()); }