예제 #1
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }


            // Сбои при входе не приводят к блокированию учетной записи
            // Чтобы ошибки при вводе пароля инициировали блокирование учетной записи, замените на shouldLockout: true

            var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                var u = userService.GetDTO(model.UserName);
                Session[AppConstants.CURRENT_APPLICATION_USER_SESSION_KEY] = u;
                userService.SaveStartSessionFact(u.Id, Request.UserHostAddress);
                return(RedirectToLocal(returnUrl));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", Resource.Message_LoginError);
                return(View(model));
            }
        }
예제 #2
0
 public IHttpActionResult Get(long id = 0)
 {
     return(execute(delegate()
     {
         WorkerUserDTO dto = userService.GetDTO(id);
         result = Json(new { success = true, data = dto });
     }));
 }
예제 #3
0
        public Task <ApplicationUser> FindByIdAsync(long userId)
        {
            WorkerUserDTO u = userService.GetDTO(userId);

            if (u != null)
            {
                Task <ApplicationUser> t = Task.Run(() => new ApplicationUser()
                {
                    Id       = u.Id,
                    UserName = u.UserName,
                    Password = u.Password,
                    Email    = u.Email
                });
            }

            return(Task.Run(() => (ApplicationUser)null));
        }