コード例 #1
0
        public async Task <JsonResult> Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                if (await _userAccountManager.Login(model.EmailAddress, model.Password, model.RememberMe))
                {
                    var user = _clientAppRepo.GetUser(model.EmailAddress);

                    return(Json(
                               new
                    {
                        success = true,
                        name = user.FullName,
                        authenticated = true
                    }));
                }

                //Failed Login
                Response.StatusCode = (int)HttpStatusCode.Unauthorized;

                return(Json(
                           new
                {
                    success = false,
                    message = "The email address or password provided is incorrect."
                }));
            }

            // Failed Model Validation
            Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json(BuildJsonResponseFromModelState()));
        }