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

Windows Communication Foundation .NET Discussion :

Conseils sur les sessions utilisateurs


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut Conseils sur les sessions utilisateurs
    Bonjour,

    Je souhaite mettre en place une authentification pour acceder a plusieurs services. (cette partie fonctionne)

    En gros: Je me logue (login / password), et cela va me donner acces par exemple a creer un utilisateur, gerer un utilisateur, modififer....(CRUD users).

    Ma questions se porte surtout sur comment savoir sans redemander à la personne logué son login/password a quelles actions il a droit. Faut il creer une session ? un token ? Comment cela fonctionne ?

    Et comment gerer a quoi il a droit, par exemple une personne loguée ne pourra elle pas effacer un utilisateur donc ne pas lui montrer ce service.

    Merci pour vos conseils

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Le plus simple reste d'authentifier a chaque fois: ca présente l'avantage d'avoir des services stateless et donc d'être plus facilement scalable.

  3. #3
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Et comment donner acces a telles ou telles methodes et services en fonction de la personnes loguees ?

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 68
    Par défaut
    Il faut que tu te renseignes concernant les différents modes de fonctionnement. Ca implique pas mal de choses différentes.

    Pour repondre rapidement : avec le balisage, tu indiques s'il faut qu'une session ai été établi ou non pour que le client ai accès a la méthode. C'est le SessionRequired.
    Apres tu as le SessionAllowed, et le dernier j'imagine que ca doit etre SessionNotAllowed.

    Mais beaucoup de choses entre en jeu, car tu peux créer une instance de contexte par client si tu veux en configurant ton service en PerSession. C'est interessant pour stocker de manière temporaire des données liés au client.
    Il faut également savoir comment fonctionnent les endpoints, car tu aura surement besoin de configurer plusieurs endpoints (publication des métadonnées, service) afin de disposer d'un endpoint mettant à disposition des méthodes qui ne requiert aucune authentification du point de vue WCF, et un autre utilisant des sessions par exemple.


    Pour cela, pas de secret, il faut lire et se renseigner. Je me suis lancé dans la grande aventure WCF il y a quelques semaines, et tout ce que je peux te conseiller, c'est renseigne toi bien sur le sujet. Car certains tutos peuvent faire penser que c'est simple, mais finalement tu te rend compte que c'est bien plus vaste que tu ne le penses .

    PS : quelques liens que tu as du voir, mais si ce n'est pas le cas, il faut au minimum que tu comprennes ces trois tuto :
    http://badger.developpez.com/tutorie...atez-avec-WCF/
    http://vincentlaine.developpez.com/tuto/dotnet/wcf/
    http://webman.developpez.com/articles/dotnet/wcf/intro/

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Citation Envoyé par topolino Voir le message
    Et comment gerer a quoi il a droit, par exemple une personne loguée ne pourra elle pas effacer un utilisateur donc ne pas lui montrer ce service.
    Quel intéret ? Même s'il "voit" la méthode, du moment qu'il n'a pas les droits pour l'executer c'est bon, non ?
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  6. #6
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Comme je suis en basicHttpBinding je ne peux pas utiliser les sessions.

    Donc à chaque appel de methodes je dois donc verifier à chaque fois le login/pwd et ses autorisations ? wow pas tres pratique donc.

    Je vais essayer.

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Tu te lances dans un domaine sur lequel microsoft a déjà suffisamment réfléchi.

    1- Tu n'as pas besoin de créer tout un système d'authentification/authorization puisse que tu peux utiliser le bloc de sécurité fourni avec Asp.Net;

    2- Enterprise Librairy est une très bonne librairie pour la gestion de l'authentification et l'authorization;

    3- Tu créées un tocken lors de l'authentification, tu le conserves en mémoire et tu peux l'utiliser pendant un temps défini;

    4-Pour les authorizations, tu créées des règles. Ces règles vont être affectées à des methodes.

    5-Chaque règle sera appliquée à un ou plusieurs rôles et les utilisateurs feront parti des rôles.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  8. #8
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Merci pour tes explications.

    Pour l'instant pour acceder à mes services WCF je dois m'autentifier, j'ai implementé l'interface IHttpModule.
    J'utilise le BasicHttpBinding et j'ai cru comprendre que je ne pouvais pas utiliser les sessions, par consequent comment puis je garder en memoire le token generé ?

  9. #9
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Tu peux les logger dans une base de données par exemple ou utiliser Enterprise Librairy pour faire du caching sauf que tu risque de te lancer dans des concept tout à fait pointus.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. [Sécurité] conseil sur les variables de session
    Par grinder59 dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 21h05
  2. [Sécurité] Question sur les sessions
    Par Seth77 dans le forum Langage
    Réponses: 20
    Dernier message: 25/01/2006, 12h34
  3. Question sur les droits utilisateurs??
    Par chaser_T dans le forum Outils
    Réponses: 3
    Dernier message: 01/09/2005, 19h38
  4. Question sur les droits utilisateurs
    Par gibet_b dans le forum Administration système
    Réponses: 5
    Dernier message: 14/06/2005, 15h24
  5. PB Réseau sur les sessions ouvertes ?
    Par nico___23 dans le forum Développement
    Réponses: 1
    Dernier message: 07/01/2005, 09h50

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