9

Mam problem z Chrome na iPadzie/iPhonie z tym, co uważałem za proste i działa na pulpicie Chrome (Mac & PC) i Safari na iPadzie/iPhonie.iPad/iPhone Chrome - plik cookie Auth nie jest ustawiony nad postem jquery (ajax) - MVC 3

Mam następujący jQuery na mojej stronie:..

$ ("# login-login-przycisk") click (function() { var username = $ ("# Użytkownik") val() .; var password = $ ("# Hasło") val();

$("#login-loading-icon").show(); 

    $.post("/login", { username: username, password: password }, function (data, response) { 
     if (response == "success") { 
      if (data.IsValid) { 
       window.location.href = "/profile"; 
      } 
      else { 
       $("#login-error-message").html(data.ErrorMessage); 
       $("#login-loading-icon").hide(); 
      } 
     } 
     else { 
      alert("An error occurred, please try again."); 
     } 
    }); 
}); 

A Action Controller jest kod wygląda następująco:

[HttpPost] 
public JsonResult Index(string username, string password) 
{ 
     AjaxResponseModel ajaxResponseModel = new AjaxResponseModel(); 

     User user = UserDAL.Select(username, Hash.MD5(password)); 

     if (user != null) 
     { 
      if (!user.IsVerified.Value) 
      { 
       ajaxResponseModel.AddErrorMessage("Account not verified."); 
      } 
      else if (!user.IsActive.Value) 
      { 
       ajaxResponseModel.AddErrorMessage("Your account is not active."); 
      } 
      else 
      { 
       FormsAuthentication.SetAuthCookie(username, false); 
      } 
     } 
     else 
     { 
      ajaxResponseModel.AddErrorMessage("Login details incorrect."); 
     } 

     return Json(ajaxResponseModel); 
    } 

próbowałem ustawienie Auth Cookie poprzez nie-ajax re zadanie, ale też nie działa.

Odkryłem, że na iPadzie/iPhonie, jeśli używam opcji "Poproś o witrynę na komputery" w menu Chrome, problem znika, ale na tym etapie nie ma koncepcji mobilnego/pulpitu, tj. Chrome zostanie po raz pierwszy powinna być miejscem pulpitu ...

+1

mam ponieważ odkrył, że jest to błąd w .NET i ma być poprawione w wersji 4.5 jednak rozwiązanie z @Froyke jest nadal szybkie i łatwe obejście. – Rob

Odpowiedz

6

już ansewerd tutaj: Asp.Net Forms Authentication when using iPhone UIWebView

użyłem domyślny config, który jest bardziej rozsądne biorąc pod uwagę rozkład prądu przeglądarek.

<browsers> 
    <browser refID="Default"> 
    <capabilities> 
     <capability name="cookies" value="true" /> 
    </capabilities> 
    </browser> 
</browsers> 
+0

Dzięki @Froyke to jest idealne! – Rob

Powiązane problemy