none
Internet Explorer "mode protégé" bloque requête POST RRS feed

  • Question

  • Bonjour,

    Je suis en train de développer une application c# qui doit exécuter une requête POST à partir du code behind de une de ces pages. Le code utilisé est le suivant :

    Response.Clear();
    var sb = new System.Text.StringBuilder();
    sb.Append("<html>");
    sb.AppendFormat("<body onload='document.forms[0].submit()'>");
    sb.AppendFormat("<form action='{0}' method='post'>", idpURL);
    sb.AppendFormat("<input type='hidden' name='SAMLRequest' value='" + base64assertion + "' />");
    sb.AppendFormat("<input type='hidden' name='RelayState' value='null' />");
    sb.Append("</form>");
    sb.Append("</body>");
    sb.Append("</html>");
    Response.Write(sb.ToString());
    Response.End();

    Mon soucis c'est que lors que j'arrive à la dernière ligne, j'ai un erreur d'exécution que dit :

    System.Threading.ThreadAbortException: Le thread a été abandonné.
       à System.Threading.Thread.AbortInternal()
       à System.Threading.Thread.Abort(Object stateInfo)
       à System.Web.HttpResponse.AbortCurrentThread()
       à System.Web.HttpResponse.End()

    Là j'ai deux possibilités :

    • Si j'utilise Firefox, Chrome ou IE (avec "mode sécurité" désactivé), la requête passe sans aucun problème
    • Si j'ai IE (avec "mode sécurité" activé), IE bloque la requête.

    Est-ce qu'il y a un moyen de faire différemment afin de ne pas bloquer ma requête tout en laissant le "mode sécurité" activé ?

    Je vous remercie d'avance, pour votre aide,

    Marc


    EDIT :

    J'ai essayé aussi avec le code:

    string myParameters = "SAMLRequest=" + base64assertion + "&RelayState=null";
    using (WebClient wc = new WebClient())
                    {
                        wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    string HtmlResult = wc.UploadString(idpURL, myParameters);
                    }

    Et dans ce cas j'ai le message

    La connexion sous-jacente a été fermée : Impossible d'établir une relation de confiance pour le canal sécurisé SSL/TLS. ---> System.Security.Authentication.AuthenticationException: Le certificat distant n'est pas valide selon la procédure de validation.

    Avec tous les navigateurs (IE, Firefox, Chrome)...

    • Modifié Marc_27 vendredi 29 mai 2015 12:36
    vendredi 29 mai 2015 12:20

Réponses