Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
j'utilise Zend Framework 1.11 avec une base de données Oracle 11G.
J'ai mis en place un plugin d'authentification avec Zend_Acl et Zend_Auth pour gérer l'identification des utilisateurs ainsi que leurs droits. L'accès aux ressources est donc contrôllé de cette manière.
Je me demandais, s'il était pertinent de créer plusieurs utilisateurs Oracle avec des privilèges différents qui "correspondraient" aux droits des utilisateurs de l'application (afin d'augmenter encore la sécurité d'accès/écriture à la base de données).
Je m'explique :
lors du login l'utilisateur de l'application PHP se connecterait à la base de données (avec les paramètres de configuration par défaut) via un utilisateur Oracle qui n'aurait que des droits (select) sur les tables users, roles et ressources pour déterminer son rôle et ses droits. En fonction de son rôle, les paramètres de configuration pour la connexion à la base de données seraient modifiés => l'utilisateur Oracle ayant les droits correspondant à son rôle serait utilisé.
Voilà... est-ce que ça vous semble pertinent ou est-ce que tout peut (doit) être gérer via l'application Zend ?
Merci d'avance
Hors ligne
Je ne pense pas que cette option soit intéressante, essentiellement pour des raisons de performance.
En effet, Oracle est très performant, mais la durée d'ouverture d'une session est assez 'lente'. Pour les connexions, l'optimisation consiste à laisser des "connexions ouvertes", afin d'éviter cet handicap.
Il existe une excellente ressource sur le site technique d'Oracle : The Underground PHP and Oracle Manual.
Tu trouveras le PDF ici : http://www.oracle.com/technetwork/topic … 98250.html
Je n'ai pas regardé si ta question a sa réponse, mais si elle est traitée, elle le sera certainement dans ce bouquin !
Jean
Hors ligne
Merci pour la réponse Jean !
Je vais regarder ce bouquin de plus près.
Dans mon "approche" il doit y avoir aussi moyen d'utiliser les "connexions ouvertes".
Simplement, il y aurait 2 connexions au lieu de 1 et ce au moment du login (ce qui me semble acceptable même si c'est un peu plus lent).
Une première avec un utilisateur n'ayant que peu de droit, la deuxième avec l'utilisateur oracle correspondant au rôle de l'utilisateur au sein de l'application.
Je vais cogiter tout ça avec le bouquin !
Si quelqu'un a d'autres remarques, suggestions, je suis preneur !
Hors ligne
Personne pour faire avancer ma réflexion ?
J'ai lu quelques trucs sur les connexions persistentes et elles ne présentent visiblement pas que des avantages...!
Elles rendent les choses plus rapides mais peuvent amener à des incohérences s'il y a des transactions, ...
Pour reformuler mon questionnement :
en gros, l'user Oracle est défini dans mon application.ini et sera donc le même pour l'utilisateur non-connecté, l'utilisateur connecté lambda et l'administrateur.
Mon application a donc accès aux mêmes objets Oracle dans ces 3 cas.
Or l'administrateur pourra consulter/updater des tables auxquelles l'utilisateur lambda n'aura pas accès.
Faut-il donc prévoir la connexion avec des users Oracle différents ?
Hors ligne
Pages: 1