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

Hibernate Java Discussion :

Gérer plusieurs utilisateurs de la base ?


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Dév FrontEnd
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dév FrontEnd

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut Gérer plusieurs utilisateurs de la base ?
    Bonjour,

    J'aimerais savoir si, avec Hibernate, il est possible de gérer plusieurs connexions avec des utilisateurs différents (utilisateurs au sens utilisateurs de la base de données) ?

    En fait, mon application web devrait pouvoir permettre à un utilisateur de s'authentifier, et devrait donc effectuer une requête avec un utilisateur de base de données lambda, qui n'aurait par exemple des droits que sur la table user de ma base.

    Et ensuite, selon le profil de l'utilisateur authentifié, il faudrait que je puisse lui attribuer un nom d'utilisateur de base de données ...

    Je ne sais pas trop si c'est possible. Et si ça l'est, je ne vois pas du tout comment faire.
    Pour info, je développe mon appli Web avec le framework Spring ...

  2. #2
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Je pense que ça doit être possible si tu définis plusieurs datasources JNDI dans le serveur et plusieurs sessionFactory hibernate côté Spring.

    Je n'ai jamais essayé et je te le déconseille fortement, surtout que Spring a ce fameux framework de sécurité applicatif très puissant.

    En dehors du fait que switcher de connexion de façon appropriée suivant le contexte risque de te rendre dingue, y'a le problème des fonctionnalités métier qui touchent plusieurs tables, tu risques de te retrouver à micromanager des droits et pondre une grosse usine à gaz pas flexible du tout.
    Alors qu'avec Spring, tu peux configurer une sécurité très efficacement en réfléchissant non pas au droit d'un utilisateur de lire une donnée du sgbd, mais plus naturellement à celui d'éxécuter ou non une transaction métier.

  3. #3
    Membre éclairé
    Profil pro
    Dév FrontEnd
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dév FrontEnd

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Je te remercie pour ta réponse.

    Mais le problème ici est que je n'ai pas trop le choix.
    Le DBA va créer plusieurs utilisateurs qui auront des ressources plus ou moins limitées.

    Je dois donc faire un mapping entre les utilisateurs de mon application et les quelques utilisateurs ( = profils) de ma base de données ...

  4. #4
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Ahhh ces DBA .

    Bon je pense que t'as déjà tout fait pour leur prouver que c'était une mauvaise approche, que l'utilisateur de la base c'est le serveur web et pas le pelé qui se connecte depuis sa maison. De plus, puisque c'est ton applic qui switchera les connexions, dans les 2 cas ce sera elle et *elle seule* qui autorisera ou pas les opérations, bref c'est une complication qui apporte peu si ce n'est rien coté sécurité dans la majeure partie des cas.

    Bref, je te conseille de chercher sur le net "sessionfactory multiple datasources" pour avoir des choses intéressantes, moi j'ai jamais eu à faire ça aussi directement.

  5. #5
    Membre éclairé
    Profil pro
    Dév FrontEnd
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dév FrontEnd

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    C'est sûr que, fonctionnellement, ça n'apporte rien à mon appli.

    Ca apporte seulement la sécurité de ne pas faire tomber la base, puisque mes requêtes vont traiter un grand nombre de données et vu que les utilisateurs de la base seront limités en ressource, les requêtes prendront peut-être un peu plus de temps, mais la base répondra toujours !

  6. #6
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Par contre tu auras surement envie de paramétrer ton pool de connexion pour éviter d'avoir 15 datasources qui ont chacune droit à 20 connexions...

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/11/2009, 10h28
  2. Réponses: 2
    Dernier message: 31/01/2009, 18h52
  3. Réponses: 1
    Dernier message: 10/09/2008, 14h21
  4. Réponses: 5
    Dernier message: 04/06/2007, 21h23
  5. Réponses: 3
    Dernier message: 08/09/2006, 11h20

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