Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Roles in Firebird (https://www.delphipraxis.net/64036-roles-firebird.html)

Jelly 26. Feb 2006 15:59

Datenbank: Firebird • Version: 1.5 • Zugriff über: IBX

Roles in Firebird
 
Nach meinem Verständnis ist Folgendes doch richtig:
1. Logins einer Firebird DB stehen in einer Systemdatenbank
2. Roles sind DB spezifisch, werden also in der Kundendatenbank angelegt.

So, jetzt hab ich also mit IBExpert einen Login erstellt (TOM). Dazu in der Datenbank eine Role (Angestellte), und den Login dort aufgenommen. Der Role hab ich erst mal Zugriff auf alle DB Objekte gegeben... Alles mittels IBExpert.

versuche ich aber jetzt mit IBX eine Tabelle zu öffnen, sagts mir:
no permission for read/select access to TABLE bla

Wie kann ich denn nun die Role verwenden. Habe versucht, in TIBDatabase in der Params Eigenschaft die Zeile:
Delphi-Quellcode:
RoleName=Angestellte
aufzunehmen, beim Connecten meldets dann aber
DFB Constant (Rolename) is unknown

Tell me what's wrong :gruebel:

dataspider 26. Feb 2006 16:13

Re: Roles in Firebird
 
Hi,

es heisst sql_role_name. Wenn die einen Doppelklick auf das Database machst, erscheint ein Editor.
Damit geht es einfacher.

Cu, Frank

Jelly 26. Feb 2006 17:19

Re: Roles in Firebird
 
Dank Dir, so klappts.

Aber nochmal für mein Verständnis:

Ich kann ein Backup meiner DB auf einem anderen Rechner aufspielen, und damit sind die Roles und demnach auch die vergebenen Zugriffsrechte wirksam. Nur die DB Logins selbst muss ich nachträglich noc definieren und der gewünschten Role zuordnen...

mkinzler 26. Feb 2006 19:39

Re: Roles in Firebird
 
Ja, die Rollen sind Teil der Userdatenbank und sind deshalb unabhängig von der security.fdb.

Jelly 26. Feb 2006 21:06

Re: Roles in Firebird
 
Ok, vielen Dank. Ist ja dann nicht viel anders als beim MSSQL Server.

Jetzt müsst ich es noch fertig bringen aus dem eigenen Programm heraus Benutzer zu erstellen und diese dann in einer Role aufzunehmen... Hab das dann mal mit TIBSecurityService probiert, krieg dann aber wieder die Fehlermeldung
This is an Interbase 7.5 function. Please upgrade to Interbase 7.5 to use this functionality
Firebird scheint dann also doch nich so kompatibel zu sein...

Gibts ne andere Möglichkeit, Benutzer anzulegen, z.B. durch direktes Schreiben in die Users-Tabelle der security.fdb Datenbank. Schreiben kann ich ja dort, nur wie wird das Passwort dort gespeichert... Da kommt dann sowieso noch die Frage hinzu, wie ich die security.fdb beim Endanwender lokalisieren kann.

mkinzler 26. Feb 2006 21:11

Re: Roles in Firebird
 
Du kannst die Benutzer natürlich direkt durch Schreiben in die Users Tabelle anlegen, davon ist aber abzuraten.
Der beste Weg ist unter der Verwendung des Hilfsprogrammes gsec (Teil der FireBird bzw. Interbase Distribution).

Jelly 26. Feb 2006 21:45

Re: Roles in Firebird
 
Ich krieg das irgendwie nicht gebacken, das Tool direkt zu nutzen, um einen Benutzer anzulegen:

Code:
gsec -user sysdba -password masterkey add Tester -pw blubb -fname Willy -lname Tester
invalid parameter, no switch defined
error in switch specifications
GSEC> quit

im Interactive Modus gehts, aber das bringt mir nicht viel, da ich dann ja nicht aus dem Delphi Programm heraus einen Benutzer anlegen kann.

Hab gelesen, dass man auch User über eine API erstellen kann, jedoch fehlt mir der Header für Delphi.

Es gibts doch sicherlich irgendwelche Freeware Tools, um diese ganze User und Role Verwaltung in Firebird zu steuern. Ich bin ja wohl nicht der Einzige mit dem Verlangen, das direkt aus meinem Programm heraus zu erledigen.

mkinzler 26. Feb 2006 22:20

Re: Roles in Firebird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der wurde wohl vergessen, aber von UIB ( jetzt Teil der JVCL) gibt es eine versionsunabhängige Version ( alle Interbase unf Firebird-Versionen) im habe diede mal angehängt.

Jelly 26. Feb 2006 22:30

Re: Roles in Firebird
 
:wall: Was ein Aufwand, nur um einen User anzulegen. Also das kanns doch nicht sein. Ich komm mehr aus dem MSSQL Bereich, dort geht das alles durch simple T-SQL Befehle. Muss ich denn nun die ganze Jedi Lib installieren, um einen Firebird DB User anzulegen. Das leuchtet mir nicht ein.

Naja, vielleicht findet sich ja noch ne einfachere Möglichkeit.

mkinzler 26. Feb 2006 22:41

Re: Roles in Firebird
 
Diese datei wird zwar mit Jedi mitgeliefert, sollte aber auch ohne sie funktionieren. Du kannst ja auch nur die benötigten Teile auslagen ( Def Dtaenstruktur / Importzeile für Befehl aus dll).


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz