public async Task<ActionResult> LoginToAngular(LoginViewModel model) { var ret = new ServiceResult(); if (!ModelState.IsValid) { ret.AddError("", "Hibás bejelentkezési adatok"); return Json(ret); } var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); switch (result) { case SignInStatus.Success: ret.Data = new { UserId = HttpContext.User.Identity.GetUserId(), UserName = HttpContext.User.Identity.Name, UserRoles = await UserManager.GetRolesAsync(HttpContext.User.Identity.GetUserId()) }; return Json(ret); case SignInStatus.LockedOut: ret.AddError("", "Kizárva"); break; case SignInStatus.RequiresVerification: ret.AddError("", "Megerősítés szükséges"); break; case SignInStatus.Failure: default: ret.AddError("", "Sikertelen bejelentkezés"); break; } return Json(ret); }
public override void OnException(ExceptionContext filterContext) { if (filterContext.HttpContext.Request.ContentType == "application/json") { var data = new ServiceResult(); data.AddError("", "Hiba történt a kérés során"); filterContext.Result = new JsonResult() { Data = data, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.Clear(); } else { base.OnException(filterContext); } }
public async Task<ActionResult> LoginToDesktop(LoginViewModel model) { var ret = new ServiceResult(); if (!ModelState.IsValid) { AddModelErrorsToResult(ret); return Json(ret); } var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); switch (result) { case SignInStatus.Success: return Json(ret); case SignInStatus.LockedOut: ret.AddError("", "Kizárva"); break; case SignInStatus.RequiresVerification: ret.AddError("", "Megerősítés szükséges"); break; case SignInStatus.Failure: default: ret.AddError("", "Sikertelen bejelentkezés"); break; } return Json(ret); }