public ActionResult Create(User user) { if (SessionManager.CurrentUser == null || SessionManager.CurrentUser.Type != Models.Entities.User.UserType.Admin) return RedirectToAction("Index", "Users"); if (ModelState.IsValid) { Repository.Instance.Save<User>(user); return RedirectToAction("Index", "Users"); } return View(); }
public static bool ValidateUser(string userName, string password) { // Plocka ut aktuell user var user = Repository.Instance.All<User>().Where(u => u.UserName == userName).FirstOrDefault(); // Kontrollera att användaren finns if (null == user) return false; // Kontrollera lösenord - hashfunktionen bör eg. läggas i en metod då den även används i user if (user.Password != Helpers.CreateHash(password)) return false; // Login OK! Sätt CurrentUser currentUser = user; return true; }
/* * OBS! Denna konstruktion för att ladda relaterad data är varken en bra eller vanlig konstruktion. * * Vi kommer se hur detta kan skötas i verkligheten senare i kursen * */ public void LoadUser() { // OBS! Dålig konstruktion!!! Det är repository's ansvar att ladda användare // t.ex. skulle vi kunna tänka oss en konstruktion likt denna: // Repository.Instance.All<User>().Include(u => u.CreatedBy) // I det här fallet kör vi på en ful-lösning dock :( // Skulle jag lösa detta i det här fallet så hade jag byggt en ExtensionMethod för det. _CreatedBy = Repository.Instance.All<User>().Where(u => u.ID == CreatedByID).FirstOrDefault(); }
public static void SignOut() { currentUser = null; }