AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird - Problem mit Roles
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird - Problem mit Roles

Ein Thema von hsbc · begonnen am 26. Jun 2005 · letzter Beitrag vom 27. Jun 2005
Antwort Antwort
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Firebird - Problem mit Roles

  Alt 26. Jun 2005, 18:24
Datenbank: Firebird • Version: 1.5.2 • Zugriff über: Delphi 7 Professional + Zeos-Lib.
Hallo allerseits,

langsam bin ich vor dem Verzweifeln mit dem FB-Zugriff über Roles. Es hat tagelang einwandfrei funktioniert. Heute musste ich dann die DB-Tabellen neu erstellen und seit dem funktioniert der Zugriff über Roles nicht mehr. Egal, ob ich von meiner Applikation aus oder von IBEasy+ aus zugreifen möchte, es geht nicht mehr. Es kommt folgende Fehlermeldung:

Zitat:
Fehler: Dynamic SQL Error
SQL Error Code = -204
Table unknown
RDB$RELATIONS
At line 2, column 1
Der normale Zugriff (ohne Role) funktioniert hingegen einwandfrei.

Ich habe schon alles probiert, auch versuchsweise der Role ALLE Rechte eingeräumt, egal, es geht nicht.

Programmässig habe ich nichts geändert - wie gesagt, vor der Erstellung der neuen Tabellen funktionierte alles einwandfrei.
Was kann ich hier noch machen? Soll ich das komplette Firebird löschen und neu aufsetzen?

Was mich noch irritiert ist, dass nach dem Löschen der DB und einem neuen CREATE der DB nach dem Definieren der User die alten Zugriffsberechtigungen von vorher noch vorhanden sind. Werden diese nicht beim Löschen der DB mitgelöscht, bzw. wie könnte ich sämtliche Zugriffsberechtigungen endgültig entfernen?

Vielleicht weiss hier jemand Rat ?

mfg
Herbert
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Firebird - Problem mit Roles

  Alt 27. Jun 2005, 07:23
Hallo Herbert,

Zitat von hsbc:
Ich habe schon alles probiert, auch versuchsweise der Role ALLE Rechte eingeräumt, egal, es geht nicht. ... Was mich noch irritiert ist, dass nach dem Löschen der DB und einem neuen CREATE der DB nach dem Definieren der User die alten Zugriffsberechtigungen von vorher noch vorhanden sind.
User sind keine Objekte deiner Datenbank, sondern gehören FireBird. Sie bleiben erhalten, wenn du deine Datenbank löschst, denn sie werden in einer speziellen Systemdatenbank verwaltet. Rollen hingegen sind Objekte deiner Datenbank und werden gelöscht, wenn die DB gelöscht wird. Dabei wird auch jede Zuordnung von Rolle zu User gelöscht. Solltest du also deine Datenbank neu aufgebaut und deine Rollen neu erzeugt
haben, aber die Zuordnung der Rollen zu Usern nicht erneuert haben, dann solltest du das nachholen.

GRANT "ROLE" TO "USER" Grüße vom marabu
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#3

Re: Firebird - Problem mit Roles

  Alt 27. Jun 2005, 08:39
Hallo marabu,

danke vorerst mal für deinen Bericht.

Das habe ich alles schon gemacht. Es ist ein sehr merkwürdiges Verhalten von Firebird, so als wäre irgendetwas sonderbares passiert.

Ich hatte ursprünglich die Role "Vertreter" gesetzt. Dann wie gesagt, die DB neu erstellt und wieder die Role "Vertreter", wie vorher, gesetzt. Und jetzt kennt er diese Role nicht mehr. Definiere ich hingegen eine neue Role, z.B. "Test" und ordne dieser einige User zu, dann funktioniert dies einwandfrei. Es lässt sich auch die Rolle "Vertreter" ordnungsgemäss setzen und User zuordnen, nur erkannt wird sie eben nicht. Wenn ich mit dem Firebird-Manager die Roles kontrolliere, ist alles, wie es sein soll:
Die Roles sind vorhanden, die entsprechenden Rechte und User den Roles zugeordnet. Alles Roles funktionieren - nur die Role "Vertreter" eben nicht.

Jetzt habe ich versuchsweise eine neue DB unter einem anderen Namen, jedoch mit den gleichen Tabellen und dem gleichen Inhalt erstellt. Habe dort ebenfalls die Role "Vertreter" angelegt und User zugeordnet und siehe da - hier geht es wieder. Zum Verrücktwerden. Ich weiss nicht mehr, wo der Fehler liegen kann, ich vermute, es ist irgendetwas komisches mit meinem Firebird passiert.

Habe auch schon alle User gelöscht und neu angelegt - an dem Verhalten hat sich leider nichts geändert.

Soll ich jetzt das komplette Firebird löschen und neu aufsetzen, was meinst du?

mfg
Herbert
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Firebird - Problem mit Roles

  Alt 27. Jun 2005, 08:51
Entziehe die Role "Vertreter" mit REVOKE allen Usern, denen sie vermeintlich zugeordnet ist und ordne sie ihnen dann wieder mit GRANT zu. Sollte mich wundern, wenn dann nicht alles wieder funktioniert.

marabu
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#5

Re: Firebird - Problem mit Roles

  Alt 27. Jun 2005, 09:29
Hallo marabu,

das habe ich jetzt gemacht - und zwar per Programm und siehe da - jetzt funktioniert es.
Das gleiche hatte ich doch vorher schon einige Male probiert, zwar nicht mit eigenem Code, sondern mit dem Firebird-Manager, dort hatte ich keinen Erfolg.

Ok, wichtig ist, dass es wieder funktioniert. Jedenfalls werde ich in den System-Operator-Teil meiner Application jetzt die paar Zeilen Code zum Löschen und Setzen von Rechten bzw. Roles gleich fix einbauen.

Nochmals herzlichen Dank für deine Hilfe.

mfg
Herbert
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz