Redirection par url [Résolu]

Signaler
Messages postés
5
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
10 janvier 2005
-
Messages postés
5
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
10 janvier 2005
-
Bonjour à tous,

Je développe une appli web classique, contenant une page de connexion me permettant d'identifier l'utilisateur et de charger des sessions. Bien sûr, si cette page d'identification a été développée, ce n'est pas pour que n'importe quel utilisateur accède au site en tapant directement les urls dans le barre de navigation...

Deux solutions s'offrent à moi :
1) Tester la nullité de UserSession à chaque chargement de page et rediriger vers la page de connexion si nulle.
-> Cette solution ne me plai pas beaucoup, car je pense qu'il y a sûrement un moyen de généraliser le traitement au lieu de modifier tous mes Page_Load...

2) Dans le Web.Config, utiliser

Dans ce cas, je suis effectivement réorienté vers ma page d'identification... mais lorsque l'utilisateur se connecte correctement, il est de nouveau orienté vers cette page, etc...
Comment définir l'authentification comme valide si je passe par une connexion autre que celle de NT?

La deuxième solution me parait bien plus correcte, mais dans un soucis de délai, je devrai bientôt me rabattre sur la première qui me rappel vaguement l'école : "fais comme ça, ça fonctionne et on a plus le temps!!!"

Merci d'avance,

Romain

1 réponse

Messages postés
5
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
10 janvier 2005

Merci à tous, j'ai trouvé mon problème, voici la solution que je vais appliquer :

En passant par le Web.Config :


<forms loginUrl="Identification.aspx" name="psa_dtp" />



<deny users="?" />



On est réorienté vers la page d'identification. Mais à partir de là, même si
l'utilisateur s'identifie normalement, la page s'auto appel. Cela est dû à
l'utilisation de window.open (qui est nécessaire). Or il fautdrait utiliser
FormsAuthentication.RedirectFromLoginPage() pour s'en sortir.

La solution est donc de créer une variable session et de lui donner une valeur
Session["OK"]= "1";
A près ça, la même page est appelée et dans le Page_Load il ne reste plus qu'à
tester cette variable. Si elle n'est pas nulle, on réoriente méchament vers la
suite avec le redirect..

if (Session["OK"]!=null)
FormsAuthentication.RedirectFromLoginPage("DTP",false);

Donc la subtilité résidait dans l'utilisation du window.open()...

Romain