Ejemplo n.º 1
0
		private void detach_UserLoginHistories(UserLoginHistory entity)
		{
			this.SendPropertyChanging();
			entity.User = null;
		}
Ejemplo n.º 2
0
        /// <summary>
        /// Авторизирует текущего пользователя
        /// </summary>
        /// <param name="user">Пользователь которого установить как текущего</param>
        /// <param name="remember">Запомнить ли пользователя</param>
        public void AuthorizeUser(User user, bool remember = true)
        {
            CurrentUser = user;
            if (remember)
            {
                // Устанавливаем собственные авторизационные куки
                var authCookie = new HttpCookie("auth");
                authCookie.Values["identity"] = user.Login;
                authCookie.Values["pass"] = user.PasswordHash;
                authCookie.Expires = DateTime.Now.AddDays(7);
                Response.Cookies.Add(authCookie);
            }

            // Добавляем запись в таблицу авторизаций
            var loginHistoryItem = new UserLoginHistory()
                {
                    DateCreated = DateTime.Now,
                    User = user,
                    LoginDateTime = DateTime.Now,
                    LoginIP = Request.UserHostAddress
                };
            user.UserLoginHistories.Add(loginHistoryItem);
            UsersManager.SubmitChanges();
        }