/// <summary> /// Vendégadatok lekérdezése. /// </summary> /// <param name="userName">A felhasználónév.</param> /* * public Guest GetGuest(String userName) * { * if (userName == null) * return null; * * // keresés a regisztrált felhasználók között * IdentityGuest guest = _guestManager.FindByName(userName); * if (guest != null) * { * return new Guest * { * Name = guest.Name, * Email = guest.Email, * Address = guest.Address, * PhoneNumber = guest.PhoneNumber * }; * } * * // keresés a nem regisztrált felhasználók között * return _entities.Guest.FirstOrDefault(c => c.UserName == userName); * } */ /// <summary> /// Felhasználó bejelentkeztetése. /// </summary> /// <param name="user">A felhasználó nézetmodellje.</param> public Boolean Login(UserViewModel user) { if (user == null) { return(false); } // ellenőrizzük az annotációkat if (!Validator.TryValidateObject(user, new ValidationContext(user, null, null), null)) { return(false); } // megkeressük a felhasználót IdentityTeacher identityTeacher = _teacherManager.Find(user.UserId, "password"); if (identityTeacher == null) // ha nem sikerült, akkor nincs bejelentkeztetés { Teacher teacher = _entities.Teacher.Find(user.UserId); if (teacher == null) { return(false); } IdentityResult result = _teacherManager.Create(new IdentityTeacher { UserName = teacher.UserId, UserId = teacher.UserId, }, "password"); // felhasználó létrehozása identityTeacher = _teacherManager.Find(teacher.UserId, "password"); } // ha valaki már bejelentkezett, kijelentkeztetjük HttpContext.Current.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie); // bejelentkeztetjük az új felhasználót ClaimsIdentity claimsIdentity = _teacherManager.CreateIdentity(identityTeacher, DefaultAuthenticationTypes.ApplicationCookie); HttpContext.Current.GetOwinContext().Authentication.SignIn(new AuthenticationProperties { IsPersistent = false }, claimsIdentity); // perzisztens bejelentkezést állítunk be, amennyiben megjegyzést kért // módosítjuk a felhasználók számát // UserCount++; return(true); }
/// <summary> /// Vendégadatok lekérdezése. /// </summary> /// <param name="userName">A felhasználónév.</param> /// <summary> /// Felhasználó bejelentkeztetése. /// </summary> /// <param name="user">A felhasználó nézetmodellje.</param> public Boolean Login(UserViewModel user) { if (user == null) { return(false); } // ellenőrizzük az annotációkat if (!Validator.TryValidateObject(user, new ValidationContext(user, null, null), null)) { return(false); } // megkeressük a felhasználót IdentityTeacher identity = _teacherManager.Find(user.UserId, user.UserPassword); Teacher teacher = db.Teacher.Find(user.UserId); if (teacher != null) { return(true); } // ha valaki már bejelentkezett, kijelentkeztetjük HttpContext.Current.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie); // bejelentkeztetjük az új felhasználót ClaimsIdentity claimsIdentity = _teacherManager.CreateIdentity(identity, DefaultAuthenticationTypes.ApplicationCookie); HttpContext.Current.GetOwinContext().Authentication.SignIn(new AuthenticationProperties { IsPersistent = user.RememberLogin }, claimsIdentity); // perzisztens bejelentkezést állítunk be, amennyiben megjegyzést // módosítjuk a felhasználók számát UserCount++; return(true); }