Я работаю на веб-сайте ASP.NET MVC 3, и все отлично работает на локальной версии, но когда я загружаю его в облаке, процесс входа в систему не работает, как ожидалось. Вот мое действие при входе в систему:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(string username, string password)
{
password = Project_0._1._1.Cloud_Platform.Methods.Encrypt(password);
REST_Auth.REST_AuthResponse loginResponse = REST_Auth.GetAuthToken(username, password, Project.Instance.AdModule.DeviceID);
if (loginResponse.ErrorID != "AUTH00002")
{
HttpCookie _username = new HttpCookie("username");
HttpCookie _password = new HttpCookie("password");
HttpCookie _token = new HttpCookie("token");
HttpCookie _userID = new HttpCookie("userID");
_username.Value = username;
_password.Value = password;
_token.Value = loginResponse.Token;
_userID.Value = loginResponse.UserID;
this.ControllerContext.HttpContext.Response.Cookies.Add(_username);
this.ControllerContext.HttpContext.Response.Cookies.Add(_password);
this.ControllerContext.HttpContext.Response.Cookies.Add(_token);
this.ControllerContext.HttpContext.Response.Cookies.Add(_userID);
}
return Json(loginResponse);
}
А вот вызов jQuery:
$.ajax({
type: "POST",
url: "login",
data: $("#login_form").serialize(),
dataType: 'json',
beforeSend: function () {
$("#login_fields").fadeOut(300);
if ($("#lresponse"))
$("#lresponse").remove();
},
success: function (data, textStatus, jqXHR) {
if (data.ErrorID == "AUTH00002") {
$("#login_fields").fadeIn(500);
$("#login_fields").append("<span id='lresponse'>Invalid login details. Try again</span>");
}
else {
$("#login_fields").fadeIn(500);
window.location = "/";
}
},
error: function (error) {
alert(error);
}
});
На локальном хосте все работает как положено: в случае успеха перенаправляется на домашнюю страницу. Тем не менее, в облачной версии, в реальном времени, она просто отображает результат JSON, а не отображает HTML-страницу. Я перепробовал все возможное. Кто-нибудь еще имел дело с этой проблемой?