|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Bonjour tout le monde;
Utilisant la version 2.5 et essayant d'exploiter les fonctionnalités nouvelles de l'administration des utilisateurs, j'ai un problème que je n'arrive pas à résoudre. Si je grant le role RDB$ADMIN par SYSDBA vers un autre utilisateur "A" par exemple, ça parait sans problème. Mais le nouveau co-admin "A" ne peut pas lire, modifier les tables de la base. Et encore, il ne peut pas créer d'autres utilisateurs. Cela, je précise par requette SQL depuis les applications Exemple : Create USER B PASSWORD 'pw'; DROP USER C;... Mais quant j'ai lancer la création d'utilisateur depuis la console par : gsec - user A -pass m -role RDB$ADMIN -add B -pw pp Cela marche sans problèmes et le nouvel utilisateur "B" est créer. |
|
|
00
|
|
|
#2 | ||||
|
Membre éprouvé
![]() Analyste-développeur Inscription : mai 2002 Messages : 989 ![]() |
Bonjour,
Es-ce que vous avez fait ça ? : Code :
Code :
__________________
Seul le Savoir est le Pouvoir |
||||
|
|
00
|
|
|
#3 | |||||
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Merci freud, oui j'ai ajouter l'utilisateur A par SYSDBA et j'ai granter le role RDB$ADMIN à A.
Dans tout les cas, ça marche pour moi avec gsec; mais le problème est lorsque j'essaye de créer un utilisateur via une requête depuis une application; C-a-d, J'utilise dans mon application, un composant UIBDATABASE, UIBTRANSACTION et UIBQUERY ; J'écris : Code :
Citation:
Code :
|
|||||
|
|
00
|
|
|
#4 | ||||
|
Membre éprouvé
![]() Analyste-développeur Inscription : mai 2002 Messages : 989 ![]() |
Le user admin creer par SYSDBA et qui va creer d'autres users doit-être créer ainsi :
Code :
Code :
Le user A doit-être créer avec le grant admin role et ensuite avec grant RDB$ADMIN to A
__________________
Seul le Savoir est le Pouvoir |
||||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Je viens de le tester, mais je reçoi le message d'erreur :
Unsuccessfull metadata update SQL ROLE RDB$ADMIN does not exist This operation is not defined for system tables. error code 31. |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Je pense que le problème n'est pas dans la création de l'utilisateur A, car je peut l'utiliser pour créer d'autres utilisateur via la console :
gsec -user A -pass a -role rdb$admin -add bigbill -pw bigsekrit mais le problème est lors de la connexion de A et la declaration du role RDB$ADMIN. Les composants que j'utilise pour la connexion, oubien delphi oubien je ne sais pas quoi qui bug. J'ai essayer UIB, IB, DBExpress et tous disent la même chose. |
|
|
00
|
|
|
#7 | ||
|
Membre éprouvé
![]() Analyste-développeur Inscription : mai 2002 Messages : 989 ![]() |
Je n'ai pas UIB mis avec JvUIB et D7 ca fonctionne bien :
Code :
Peut-être que vous avez plusieurs version de FB d'installer ?
__________________
Seul le Savoir est le Pouvoir |
||
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
J'ai fais copie/coller de votre code
j'ai seulement enlever JV, et je reçois le même message d'erreur : "add record error no permission for insert/write acess to TABLE USERS" Je ne sais pas est ce que le problème est dans les composant ou dans delphi 2009 ou ailleur??? |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 213 ![]() |
relisez la doc
vous faites une confusion entre deux chose va donner les droits SYSDBA ou propriétaire à user1 pour le base concernée, cela n'en fait pas l'équivalent de SYSDBA pour les autres bases et donc pas non plus pour la base de sécurité d'où le message Code :
no permission FOR INSERT/WRITE acess TO TABLE USERS [pour la base de sécurité, mais comme on ne peux pas se connecter directement à security2.fdb, du coup on a créé la syntaxe qui permet donc de donner à un utilisateur les droits pour créer, modifier, supprimer d'autres utilisateurs.
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
je pense que je peux confirmer que ce n'est ni problème de composants ni problème de delphi, car je viens de lancer les même requête écrites par vous dans l'éditeur de requêtes de IBEasy et j'obtiens après la deuxième requête le même message :
Unsuccessfull metadata update SQL ROLE RDB$ADMIN does not exist |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
S'il vous plait makowski, écrivez le code que vous voyez qu'il est juste et essayez le dans IBEasy ou autre car ça ne marche pas chez moi partout.
J'ai revus la doc et bien compris, mais ça bloque je ne sais pas!!! |
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 213 ![]() |
la base a bien été créée avec Firebird 2.5 ?
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Non, la base a été créée par fb 2.1, mais je n'ai aucun problème à part ça.
Mais je vous rappel que ça marche si j'utilise la console : gsec - user A -pass m -role RDB$ADMIN -add B -pw pp ça marche bien. |
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Je viens de le tester avec delphi7, c'est exactement le même problème partout.
Le problème est surement au niveau du serveur Firbird, car la commande gsec marche mais les requêtes ne marchent pas. Je vais encore refaire des essais. |
|
|
00
|
|
|
#15 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 213 ![]() |
Citation:
l'ODS à changé
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
|
|
#16 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 213 ![]() |
Citation:
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
|
|
#17 | ||
|
Membre éprouvé
![]() Analyste-développeur Inscription : mai 2002 Messages : 989 ![]() |
Bonjour,
Le code que j'ai poster fonctionne pour une BDD créer avec FB 2.5. et pas pour une BDD créer avec FB 2.1, chose que je viens de constater avec le message que vous avez eu : Code :
-désinstaller la 2.1 et installer la 2.5 et restaurer la sauvegarde. -de réexecuter les commande creation des users. Pour moi ça a marcher.
__________________
Seul le Savoir est le Pouvoir |
||
|
|
00
|
|
|
#18 |
|
Membre éprouvé
![]() Analyste-développeur Inscription : mai 2002 Messages : 989 ![]() |
J'ai poster avant de voir votre solution Makowski (messages croisés)
C'est effectivement cela.
__________________
Seul le Savoir est le Pouvoir |
|
|
00
|
|
|
#19 |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 200 ![]() |
Effectivement, il faut que la base soit créée par 2.5 et faire ce que a dit freud.
1- J'ai créer une nouvelle base de données DB1 juste pour tester. 2- J'ai créer un nouvel utilisateur A par : Create user A password 'A' grant admin role; l'utilisateur A ne peut pas utiliser les privilèges de sysdba que lorsque sysdba fait : 3- grant RDB$ADMIN to A Et ça marche; mais le problème est que ce n'est pas normale. pourquoi, ce problème? le serveur est 2.5, la base de sécurité est 2.5, la base de données est là dans un fichier sur le serveur. Je ne vois pas pourquoi je doit recréer la base. N'est ce pas???? Il doit y avoir un détail quelque part qui résoudra le problème. |
|
|
00
|
|
|
#20 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 213 ![]() |
Citation:
c'est toujours le cas quand on fait un changement majeur de version, l'ODS change. en base avec l'ODS (structure de stockage sur disque) de la version 2.1, n'a rien pour accueillir les nouvelles fonctionnalités comme celle ci qui ont été crées pour la 2.5
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com