Reprise d'une session HTTP invalidée par un timeout sur un événement Ajax dans une application Web ayant une autentification des utilisateurs via un formulaire j_security_check

Modifié par Julien EYMERY le 2015/06/29 16:00

Dans le cas ou une application Web authentifie ses utilisateurs via une page contenant une formulaire j_security_check définie dans le web.xml de la manière suivante :

<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/security/login.jsp</form-login-page>
<form-error-page>/security/error.jsp</form-error-page>
</form-login-config>
</login-config>

Si la session HTTP est invalidée par un timeout, il n'est pas possible de se reconnecter à l'application (ré-afficher la page de login) suite au déclenchement d'un événement Ajax.
Cela a été corrigé dans la fiche 5786 (intégrée en V12 PTF 1 FIX 4).

Si vous êtes dans une version précédente, il faut rajouter une balise META dans la page de login (la page déclarée dans le noeud <form-login-page> du web.xml) comme suit :

<HTML>
<head>
<meta name="AWSFormAuthLog" content="pagePointEntree.jsp">
</head>
<body >
<form method=post action="j_security_check" >
Nom d'utilisateur : <input type="text" name= "j_username" id="j_username"/><br/>
Mot de passe : <input type="password" name= "j_password"/><br/>
<input type="submit" name="login" value="login"/>
</form>
</body>
</HTML>

L'attribut "content" doit contenir l'url de la page d'entrée de l'application Web. Par exemple, cette page peut être la même que celle définie dans la paramètre SESSION_EXPIRED_PAGE du fichier de configuration CfgConfiguration.properties.

Note : Si l'authentification est basique (utilisation de la boîte de connexion native du navigateur définie par <auth-method>BASIC</auth-method> dans le web.xml), la reprise de session HTTP via un événement Ajax fonctionne correctement.


Articles connexes

Les articles connexes apparaissent ici en fonction des étiquettes que vous avez sélectionnées. Cliquez pour modifier la macro et ajouter ou modifier des étiquettes.