Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }