Jahia DX > Redirect après un...

0 (0 Good)
0 (0 Bad)

Redirect après un logout

by  mevel »  2012/02/07 09:53

Bonjour,

pour un site internet,  je souhaite faire une redirection vers une page customizée de connexion après une déconnexion sur un lien.

Mais quand je clique sur le lien de déconnexion, j'ai une erreur 401. L'exécution du code ajax ne passe pas dans le success mais en error avec une 401 (je ne suis pas autorisé à recharger la page de redirection)

Ci-dessous le code :

<c:url value="/cms/logout?redirect=/cms/render/default/en/sites/ms/home.html" var="logoutUrl"/>
    
    <div class="divLien">
        <a class="lienLogin" href="#" onClick="sedeconnecter('${logoutUrl}');return false;" name="search"><fmt:message key="logout"/></a>
    </div>
    
    <script type="text/javascript">
        function sedeconnecter(logoutUrl) {
            jQuery.ajax({
                type : "get",
                url : "${logoutUrl}",
                dataType :"xml",                    
                success : function() {
                    alert('Deconnexion');
                    window.location.replace('http://'+window.location.host+logoutUrl);
                },
                error:function (xhr, ajaxOptions, thrownError){
                    alert(xhr.status);
                    alert(thrownError);
                  }
            });
        }
    </script>

Merci d'avance pour vos réponses.

Cordialement

  • Redirect après un logout
    2012/02/07 09:53

    mevel <p> Bonjour,</p> <p> pour un site internet,&nbsp; je souhaite faire une redirection vers une page customiz&eacute;e de connexion apr&egrave;s une d&eacute;connexion sur un lien.</p> <p> Mais quand je clique sur le lien de d&eacute;connexion, j&#39;ai une erreur 401. L&#39;ex&eacute;cution du code ajax ne passe pas dans le success mais en error avec une 401 (je ne suis pas autoris&eacute; &agrave; recharger la page de redirection)</p> <p> Ci-dessous le code :</p> <p> &lt;c:url value=&quot;/cms/logout?redirect=/cms/render/default/en/sites/ms/home.html&quot; var=&quot;logoutUrl&quot;/&gt;<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;&lt;div class=&quot;divLien&quot;&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;a class=&quot;lienLogin&quot; href=&quot;#&quot; onClick=&quot;sedeconnecter(&#39;${logoutUrl}&#39;);return false;&quot; name=&quot;search&quot;&gt;&lt;fmt:message key=&quot;logout&quot;/&gt;&lt;/a&gt;<br /> &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp;&nbsp; &lt;script type=&quot;text/javascript&quot;&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;function sedeconnecter(logoutUrl) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;jQuery.ajax({<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;type : &quot;get&quot;,<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;url : &quot;${logoutUrl}&quot;,<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;dataType :&quot;xml&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;success : function() {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;alert(&#39;Deconnexion&#39;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;window.location.replace(&#39;http://&#39;+window.location.host+logoutUrl);<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;},<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;error:function (xhr, ajaxOptions, thrownError){<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;alert(xhr.status);<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;alert(thrownError);<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;});<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }<br /> &nbsp;&nbsp;&nbsp; &lt;/script&gt;</p> <p> Merci d&#39;avance pour vos r&eacute;ponses.</p> <p> Cordialement</p>

  • Number of messages  2
    Registration date Feb 7, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: Redirect après un logout

    by  dgriffon »  2014/01/28 09:30

    Bonjour,

    Cette erreur provenait d'un tag mal fermé dans la page de retour. Ce probleme a ete corrigé depuis.

    David

    David Griffon (dgriffon)

    Number of messages  76
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re: Re: Redirect après un logout

    by  louis-marie.kraft@audiens.org »  2017/11/28 13:36

    Bonjour,

    Si comme moi quelqu'un passe ici 3 ans après, le code me parait pouvoir être simplifié. Vous appelez en effet votre ajax avec un URL, puis redirigez au retour sur ce même URL.

    Ne suffirait-il pas donc d'appeler tout simplement cet URL qui contient la redirection ?

    Cela se matérialiserait ainsi :

    <!-- URL -->

    <c:url value="/cms/logout?redirect=/cms/render/default/en/sites/ms/home.html" var="logoutUrl"/>

    <!-- Bouton de logout -->

    <div class="divLien">
            <a class="lienLogin" href="#" onClick="sedeconnecter('${logoutUrl}');return false;" name="search">        <fmt:message key="logout"/></a>
        </div>

    <!-- JS appelé -->

    <script type="text/javascript">
            function sedeconnecter(logoutUrl) {

                window.location.replace('http://'+window.location.host+logoutUrl);

     }
        </script>

    Cela a parfaitement fonctionné dans mon cas.

    Louis-Marie

      (louis-marie.kraft@audiens.org)

    Number of messages  1
    Registration date
    Contact
    Share
    Feedback

    Get in touch

    Whether you are a current user or if you are just evaluating Jahia, we are here to help.

    Contact us

    Share this page