Je relance ce thread car j'ai moi aussi constaté ce problème.
Le probleme apparait sous Firefox (sous IE pas de probleme!) quand j'initie en "manuel" un login, i.e. par appel du service XMLC_FormLogin.
On obtient l'exeception ERR_EMAIL_NULL. Pourtant on est bien loggé en fait (car on a acces aux services securisés si l'on essaie de rentrer leur url directement dans la barre d'adresse).
J'ai bien fouillé ce probleme : comparaison des traces IE/Firefox, Cookies, code de gestion des services du module XMLSecurityWM, etc.
Ce qui se passe c'est que dans ce cas precis XMLC_BaseHref n'est pas valorisé (à noter qu'il est valorisé automatiquement lorsque on appel un service securisé qui ns redirige automatiquement sur XMLC_FormLogin : pas de probleme dans ce cas la sous Firefox et IE).
Apres authentification on est censé etre redirigé sur l'url contenu dans XMLC_BaseHref. Or il est vide dans notre cas. En examinant le code de gestion (voir XMLSecurityWM.pas) associé au service XMLC_InnerRedirect on s'apercoit que cette redirection est effectuée par un simple javascript location.href. au niveau des headers html. Dans mon cas j'ai donc le code html suivant qui est généré:
<html><head><script language="javascript">location.href = "";</script></head><body></body></html>
Ce javascript s'execute tres bien sous IE: on redirection sur la racine du site. Par contre sous Firefox, ce code ne passe pas : on a une boucle infinie (redirection sur lui-meme)!!!
Donc le workaround serait de valoriser XMLC_BaseHRef directement dans l'url d'appel du service, comme ceci par exemple:
<a href="XMLC_FormLogin?XMLC_BaseHRef=/home_url">login</a>
Dans ce cas plus de probleme sous Firefox...
J'attend vos reactions?
Partager