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

 Oracle Discussion :

Gérer les droits sous Oracle


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Gérer les droits sous Oracle
    Bonjour a tous,

    Etant débutant sous Oracle 10g XE, j'aurai une petite question.

    Je suis entrain de réaliser une application java où les utilisateurs finaux doivent créer un compte (en spécifiant un login, password, ainsi que d'autres informations personnelles), puis ils devront se logger pour utiliser les fonctionnalités du programme.

    Je souhaite que les infos qu'ils rentrent lors de la création du compte soient rangés dans une table de ma BDD. J'ai déja créer une fonction PL/SQL creer_compte et je sais comment y faire appel dans le code java.

    Ma question est la suivante: Comment dois-je gérer les droits dans Oracle pour que lorsque un utilisateur rentre son login/mdp il puisse ensuite acceder aux fonctionnalités de l'appli (par exemple, possiblités de modifications de son profil, donc modification de la table "Profil"). Faut-il faire des manips sous l'outil d'administration d'Oracle ?

    Autre question: Oracle doit etre installer sur une machine différente de celle où les utilisateurs finaux s'identifient. Est-ce-que du code java coté client suffit? (avec jdbc:oracle:thin:@127.0.0.1:1521:XE).

    J'espere avoir été suffisament clair dans ma demande.

    Merci

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 736
    Points
    1 736
    Par défaut
    C'est souvent contraignant et fastidieux qu'un user d'une application corresponde à un user base de données (enfin cela reste mon avis)
    C'est plus simple si chaque utilisateur de l'appli se connecte à la base avec le même compte base de données, qui lui peut avoir les droits de modifications dans les tables profil, ... etc
    Exemple :
    - 1 user bdd APPLI = schéma qui contient toutes les tables de ton appli (profil, etc ...)
    - 1 user bdd UTILISATEUR à qui tu donnes une bonne fois pour toutes les droits de lecture et/ou de modification dans les tables que tu souhaites, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant select,insert,update,delete on APPLI.profil TO UTILISATEUR;
    C'est sans doute mieux que la gestion des droits se fasse côté application, par exemple une table qui contient pour chaque utilisateur un flag 0 ou 1 selon qu'il peut modifier son profil
    Car si tu gérais les droits de ton appli comme les droits oracle avec un user oracle par utilisateur réel, en gros l'utilisateur pourrait exécuter des requêtes comme "update profil ..." mais sans savoir s'il a bien les droits de modifier la table, tu serais donc obligé de récupérer éventuellement les messages d'erreur renvoyés par oracle, etc ... ce qui devient vite très contraignant

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je suis d'accord avec toi Scheu.

    Je rajoute juste que j'ai vu une appli pour laquelle, un user applicatif = un user oracle.
    Du coup, le dba a régulièrement a intervenir pour gérer les users, les créer, supprimer et autre... Ce qui ne me semble par être son rôle mais devrait incomber plus aux personnes qui supportent l'application, voir à un super utilisateur.

    NOTE : je ne cherche pas à dire que c'est un boulot indigne d'un dba, je dis juste que je ne trouve pas ça logique, pas de contreverse.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord, merci pour vos réponses.

    Le truc, c'est que je dois gérer trois types d'utilisateurs différents (ils ont tous le droit de créer/modifier leurs profils, la différence se situe autre part). C'est pourquoi j'ai décidé de créer une table Type_Compte dans ma BDD, avec un ID qui vaut 1,2 ou 3 en fonction du type de compte.

    Donc si j'ai bien compris, je vais dois créer trois utilisateurs en passant par le web browser oracle: administration --> Create Database User. Mais a ce moment là, il me demande un login, mdp, il me demande les roles (connect, resources, DBA, je coche donc connect) ainsi que les privilèges.

    Mais je ne comprend pas ou je dois rentrer le code SQL "grant select,insert,update,delete on APPLI.profil TO UTILISATEUR;" ?

    Que veux-tu dire par la: 1 user bdd APPLI = schéma qui contient toutes les tables de ton appli (profil, etc ...). Je ne comprend pas trop.

    Merci encore!

  5. #5
    Membre actif Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Points : 205
    Points
    205
    Par défaut
    Considère qu'un user et un schéma... sont identiques

    Un schéma est composé d'objets (tables, index, sequences, packags,etc...)

    Le user est propriétaire des objets contenu dans son schéma....

    Et pour finir, en général on confond un user et un schema...
    En gros user et schema se confondent dans les appelations.

    Exemple:

    En gros tu peux dire que tu vas filer les droits au user 'TEST' ou au schema 'TEST' (C'est la meme chose)

    J'espère que tu as compris où je voulais en venir

Discussions similaires

  1. [D5][SQL Server] Conserver des images dans la BDD
    Par FONKOU dans le forum Bases de données
    Réponses: 8
    Dernier message: 08/06/2008, 19h58
  2. Comment gérer les apostrophes dans oracle
    Par jenyfer dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/11/2006, 14h23
  3. [Sécurité] Gérer les droits Admin/Simple users/Personnes externes
    Par dessinateurttuyen dans le forum Langage
    Réponses: 5
    Dernier message: 16/08/2006, 09h37
  4. Gérer les droits des utilisateurs
    Par rsc dans le forum Langage
    Réponses: 6
    Dernier message: 22/08/2005, 20h57
  5. Gérer les droits d'un dossier/RPC indisponible
    Par xant dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 22/08/2005, 13h47

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