IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

architecture multi-tiers et contexte utilisateur


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut architecture multi-tiers et contexte utilisateur
    Bonjour,

    Je me demande comment ce résoud le problème suivant avec .Net:

    Sur une architecture 3 tiers, il y a en 1er le service web qui gère l'interface, et en second les services métiers et chaque couche est hébergée sur des machines distinctes.

    Des utilisateurs se connectent via le web, ils obtiennent ainsi une session validée.
    Les pages web doivent accéder à la couche métier pour effectuer des opérations. Beaucoup de ces opérations sont liées à l'utilisateur.

    Comment faire pour s'assurer qu'un appel depuis une page web à un service de la couche métier est effectué par un utilisateur bien connecté ?
    Y-a-t'il une propagation possible de la session entre les couches ?

    Bien entendu, les méthodes visibles de la couche métier prennent en paramètre un identifiant d'utilisateur, mais celà n'est pas suffisant.

    Je cherche un moyen qui ne soit pas dépendant du bon vouloir du programmeur de page. Un moyen qui serait mis en place au niveau de la configuration qui permetterait aux services métiers de s'assurer que l'appel est effectué par un utilisateur authentifié.

    Pour éclaircir : quelque chose comme les "EJB Session" de Java.

    Merci pour vos idées
    Cyrille.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    avec Windows Communication Foundation tu peux résoudre ton problème d'accès à différentes machines. je ne vois pas trop pourquoi passer un identifiant est insuffisant pour gérer tes droits? effectivement tu pourrais passer un objet avec certaines données de l'utilisateur, c'est largement suffisant je pense.

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu peux obtenir tes sessions dans les différentes couches avec le CurrentContext

  4. #4
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut
    Salut,

    Je pense que le système, vu dans son ensemble, doit posséder un et un seul point d'authentification. Ensuite l'utilisateur et ses droits doivent être propagé dans le reste du système.
    Un genre de session accessible depuis toute l'architecture.

    Sinon, n'importe quel programmeur de page web écrit un appel aux chouches services avec un identifiant d'utilisateur et peut ainsi usurper son identité sans s'être d'abord identifié.

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par cyrille37 Voir le message
    Salut,

    Je pense que le système, vu dans son ensemble, doit posséder un et un seul point d'authentification. Ensuite l'utilisateur et ses droits doivent être propagé dans le reste du système.
    Un genre de session accessible depuis toute l'architecture.

    Sinon, n'importe quel programmeur de page web écrit un appel aux chouches services avec un identifiant d'utilisateur et peut ainsi usurper son identité sans s'être d'abord identifié.
    Sauf si tu géres un sessionId en base

  6. #6
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Tu peux obtenir tes sessions dans les différentes couches avec le CurrentContext
    Je ne trouve pas CurrentContext dans l'aide de Visual Studio 2005 Framework .Net 2.
    C'est peut être dans WCF ?

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par cyrille37 Voir le message
    Je ne trouve pas CurrentContext dans l'aide de Visual Studio 2005 Framework .Net 2.
    C'est peut être dans WCF ?
    Non, ça existe bel et bien en 2.0 et même 1.1

  8. #8
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Syntaxe exacte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      HttpContext.Current.Session["nomVariable"]

  9. #9
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Non, ça existe bel et bien en 2.0 et même 1.1
    Heu ... Dans l'aide de VisualStudio 2005, Index, Recherche non filtré, je ne trouve que :
    - LicenseManager.CurrentContext
    - PCHEvent.CurrentContext
    et dans Recherche :
    - Thread.CurrentContext
    - HttpContext.Current

  10. #10
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    cf ci-dessus

  11. #11
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Syntaxe exacte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      HttpContext.Current.Session["nomVariable"]
    Mais ce context n'existe que dans le conteneur web ...

    Je vais cogiter tout ça tranquillement.

    Merci
    et bonne journée

  12. #12
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par cyrille37 Voir le message
    Mais ce context n'existe que dans le conteneur web ...
    Non

  13. #13
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Non
    Je ne comprends pas. Peux tu être plus explicite s'il te plaît ?

    Rappel: j'ai une machine avec la couche présentation et une autres avec la couche métier. Comment le HttpContext.Current peut être partagé ??

  14. #14
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tes ddl métiers sont exécutées par ton site web non?
    Si oui, elles peuvent donc récupérer le context web dans lequel elles sont exécutées

  15. #15
    Membre régulier Avatar de cyrille37
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 155
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Tes ddl métiers sont exécutées par ton site web non?
    Si oui, elles peuvent donc récupérer le context web dans lequel elles sont exécutées
    Le serveur web est sur une machine avec les pages et controleurs, les DLLs métiers sur une autre machine ...

    C'est pas grave, j'ai clot le sujet (marqué Résolu) car à partir des 2 articles que j'ai cité, je vais trouver ma réponse.

    en passant je te conseille de les lire ;-) Ca t'apportera qlqs connaissances sur les besoins d'une architecture distribuée.

    Merci pour ton aide,
    Cyrille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Architecture multi utilisateur
    Par bastien31000 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 06/01/2012, 15h51
  2. Réponses: 3
    Dernier message: 17/06/2009, 08h34
  3. Architecture multi-utilisateurs ?
    Par EnderOG dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/05/2008, 08h54
  4. [Déploiement] Architecture multi-étage
    Par brigittebardot dans le forum Autres Diagrammes
    Réponses: 2
    Dernier message: 10/01/2005, 21h38
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo