ReturnUrl embétant [Résolu]

Signaler
Messages postés
46
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
26 août 2008
-
Messages postés
46
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
26 août 2008
-
Bonjour à tous !

Je développe un site sur le Framework 2.0 et celui-ci me pose un petit souci. J'explique :

Après ma page de connexion, j'aimerais que tous les utilisateurs passe par une page obligatoire.
Tout va bien quand ils se connecte normalement pas l'url du site (http://localhost/monsite/).

Le problème, c'est que quand l'utilisateur se connecte au site en fournissant le nom d'une page (ex : http://localhost/monsite/mondossier/mapage.aspx), mon circuit est rompu.

En fait, en s'y connectant, les utilisateurs sont dirigés vers la page d'accueil avec le paramètre ReturnUrl (ex : http://localhost/monsite/default.aspx?ReturnUrl=%2fmonsite%2fmondossier%2fmapage.aspx ). Normal, jusque là.

Et quand ils s'identifient, ma page "obligatoire" est zappée !
Ils tombent directement sur http://localhost/monsite/mondossier/mapage.aspx sans passer par la page "obligatoire".

Dans ce cas précis, ça me plante le fonctionnement du site...

Comment faire pour que ReturnUrl ne soit pas pris en compte ?
Un paramètre dans le Web.Config ?

Merci !

KesKisPas

2 réponses

Messages postés
46
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
26 août 2008

J'ai trouvé la solution sur le site.

Mettre un "Response.Redirect(mondossier/mapageobligatoire.aspx)"dans l'évènement "LoggedIn" du controle Login.

Voir ici : http://www.aspfr.com/infomsg_DECONNEXION-PAGE_681225.aspx

KesKisPas
Messages postés
46
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
26 août 2008

Pour l'instant, la seule parade que j'ai trouvé, c'est de mettre ça dans la masterpage des pages du site :

protected void Page_Load(object sender, EventArgs e)
    {
    if (Session["Username"] == null)
        {
            FormsAuthentication.RedirectToLoginPage();
            Response.Redirect(FormsAuthentication.LoginUrl);
        }
}

Bien sûr, dans le web.config, j'ai configuré loginUrl sur ma page d'accueil.

Ca me permet de "déconnecter" proprement l'utilisateur, sans générer de ReturnUrl...

S'il y d'autres solutions, je prends. Merci.

KesKisPas