Cas précis pour l'utilisation des sessions

[Résolu]
Signaler
Messages postés
19
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
17 octobre 2008
-
Messages postés
19
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
17 octobre 2008
-
Bonjour à tous,

Je dois développer une application d'après une analyse technique précise. En gros je dois faire une double authentification d'abord par l'Active Directory puis par une base de données SQL propre à l'application et redirriger l'utilisateur vers des pages sécurisées

Dans mon application je dois utiliser les sessions et je ne peux pas passer par les composants que fournissent ASP.NET (form authentification, etc). Donc j'utilise l'objet Session directement.

En code-behind, pas de problème pour déclarer et affecter une variable à une session: Session["id_utilisateur"] etc.

Je rencontre un problème ensuite pour sécuriser mes pages. En faites pour sécuriser une page, je vérifie simplement si la Session["id_utilisateur"]. Mais ce qui m'ennuie c'est que je vais devoir recopier ce bout de code sur toutes les pages que je veux sécuriser. Alors je me suis dit: Pourquoi pas créer une class en C# qui utilise une méthode qui va vérifier si la session existe du genre VerifSession(...). Mais comme cela est en C#, je n'arrive pas à utiliser l'équivalent de l'Objet Session fournit très simplement en ASP.NET

Pourriez-vous me guider? Merci d'avance!

3 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Salut,

Dans un projet web, on devrait toujours faire hériter toutes ses pages d'une page de base (et non pas directement de System.Web.UI.Page), ainsi tout le traitement commun aux pages peut être mis quelque part.
Dans cette page de base, tu peux par exemple t'abonner au PageInit et faire à cet endroit la vérification, comme ça elle sera faite pour toutes les pages qui en héritent.

Sinon tu peux tout à fait le faire dans une classe externe, qu'il faudra dans ce cas appeler depuis chaque page : pour accéder à la Session hors du contexte d'une page, il faut passer par System.Web.HttpContext.Current.Session.

Bonne journée,
A++

<hr width="100%" size="2" />Nurgle (Antoine) - MSP
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

tu peux utiliser la generic principale poru enregister le user logué , il est alors très facile de restreindre l'accès à cette personne via un web config correctement paramètré
Messages postés
19
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
17 octobre 2008

Merci pour vos réponses! Merci à Nurgle de m'avoir mis sur le bon chemin, c'est en procédant de la sorte que j'ai résolu mon problème. Création d'une class modèle pour ma page avec une fonction de Sécurité qui fait la vérification de la session. Puis dans mes pages qui héritent du modèle je fais juste l'appel de cette fonction en première instruction de le page_load(). Et voilà mes pages sécurisées par les sessions. Cool tout ça!