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

Langage SQL Discussion :

[Débutant] Jointure Role/Utilisateur


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut [Débutant] Jointure Role/Utilisateur
    Bonjour voilà mon probleme

    j'ai 3 tables :


    table role :

    id (clé primaire)
    nom

    table UserRole
    id,( clé primaire )
    RoleId ( clé etrangere de role)
    UserId (clé etrangere de personne)

    table personne
    id ( clé primaire)
    nom
    prenom


    Je voudrais créer une requete qui m'affiche que les rôles que l'utilisateur a ....

    Dans mon appli , j'ai 5 roles different

    utilisateur 1 est admin, viewer et helpdesk
    utilisateur 2 est helpdesk seulement


    J'ai besoin d'une requete qui selectionne juste les noms des roles que le user a

    Merci à vous

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Par défaut
    Pour sélectionner les rôles de l'utilisateur 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT role.nom
    FROM role
      INNER JOIN UserRole ON RoleId=role.id
    WHERE UserRole.UserId=2

  3. #3
    Membre confirmé Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut
    le probleme , cest que j'ai plusieurs rôles (5 en tout)


    admin
    viewer
    helpdesk admin
    helpdesk user
    end user

    ce sont des sous type de personne

    ta requete me permettrait de verifier qu'un seul role ...

    mais comment faire pour verifier les 5 roles en meme temps et renvoyé juste le nom des roles qu'ils possedent ???


    Pour corriger ce que j'ai mis plus haut ; voila les tables


    table admin


    id

    userid

    roleid

    table viewer

    id

    userid

    roleid

    table enduser

    id

    userid

    roleid

    table helpdesk admin


    id

    userid

    roleid

    table personne


    id

    nom

    prenom

    table role

    id

    nom



    A mon avis je vais devoir utiliser ces 5 tables dans la requête que j'ai besoin , mais je ne sais pas comment m'y prendre





    merci à vous

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Par défaut
    Dans les tables
    • admin
    • viewer
    • enduser
    • helpdesk admin

    les champs sont, pour toutes les tables,
    • id
    • userid
    • roleid

    Pourquoi ne pas les mettres dans la même table ?
    Tu peux ajouter à cette table un champ indiquer quel est le type (admin, viewer, enduser,helpdesk admin, ...)

  5. #5
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Y a un soucis là.

    Tu devrais avoir une table user, une table role, une table userroles

  6. #6
    Membre confirmé Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut
    D'apres notre analyse vue au cours , si l'on devait appliquer ca , on aurait une erreur de sécurité et rien n'empecherai un utilisateur de faire quelque chose auqel il n'y a pas droit ...

    Chaque role est en fait une connexion au serveur . Donc pour chaque role , une connexion avec des droits bien définis ..

    Sinon, je suis d'accord qu'il n'y aurait aucun probleme niveau jointure si j'utilise une seul table userRole.

    Maintenant , j'applique ce que les profs demandent , meme si je suis pas tout a fait d'accord avec eux ....

    Si vous savez comment faire ainsi , merci de m'eclairer


    @+*

Discussions similaires

  1. role utilisateur sql seerver 2005
    Par jaafar.kettani dans le forum Administration
    Réponses: 13
    Dernier message: 12/08/2009, 15h40
  2. JGuard LDAP et roles utilisateurs
    Par Leopardi dans le forum Sécurité
    Réponses: 0
    Dernier message: 15/05/2009, 02h50
  3. gestion des roles utilisateur
    Par EAKOM dans le forum Seam
    Réponses: 2
    Dernier message: 28/03/2009, 12h39
  4. [JBoss Portal] Tester role utilisateur
    Par natoine dans le forum Portails
    Réponses: 1
    Dernier message: 22/10/2008, 23h01
  5. Repartition de roles utilisateurs en Java
    Par Zorgz dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 06/10/2006, 13h55

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