Max207
Messages postés19Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention17 octobre 2008
-
5 mars 2008 à 10:14
Max207
Messages postés19Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention17 octobre 2008
-
6 mars 2008 à 15:29
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
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 5 mars 2008 à 11:02
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.
GillouXman
Messages postés561Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention10 juin 2010 5 mars 2008 à 14:58
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é
Max207
Messages postés19Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention17 octobre 2008 6 mars 2008 à 15:29
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!