AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem DBNavigator und Roles (Firebird 1.5)
Thema durchsuchen
Ansicht
Themen-Optionen

Problem DBNavigator und Roles (Firebird 1.5)

Ein Thema von Tihalc · begonnen am 13. Dez 2006 · letzter Beitrag vom 13. Dez 2006
Antwort Antwort
Tihalc

Registriert seit: 7. Feb 2006
Ort: Tornesch (Hamburg)
3 Beiträge
 
#1

Problem DBNavigator und Roles (Firebird 1.5)

  Alt 13. Dez 2006, 08:13
Datenbank: Firebird • Version: 1.5 • Zugriff über: FibPlus Komponenten
Moin,

ich habe ein kleine Problem mit dem DBNavigator...
Folgendes:

Ich habe eine Datenbank in der ich Roles und Benutzer definiert habe. Wenn ich nun für einem Benutzer auf eine Tabelle alle Rechte gewähre (Select, Insert, Delte, Update...) dann "darf" der DBNavigator ja all mir seine Button anzeigen. Wenn ich aber nur Select zulasse, hätte ich es gerne, das die Buttons für Insert Delte etc grau hinterlegt sind. So wie ich das sehe kann der DBNavigator das nicht automatisch

Gibt es da eine Möglichkeit dem DBNavigator das beizubringen?? Und nicht ala if User darf nicht insert dann nbInsert.enabled = false.

Oder kennt jemand eine andere schöne Komponente, die das kann?

Weiß jemand was die IBObject dabei machen?


So damit habe ich jetzt auch mein ersten Thread geschrieben


Gruß aus dem hohen Norden

Tihalc
Tobias Eggers
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem DBNavigator und Roles (Firebird 1.5)

  Alt 13. Dez 2006, 08:20
Hallo,

woher soll der TDBNavigator das wissen ?
Du kannst eine Abfrage wegschicken,
und bekommst erst nach Ausführung (oder auch nicht)
die Info, ob du das darfst.
Falls du z.B. keine Rechte an einer Tabelle hast (select),
kommt wohl die Meldung "Objekt nicht gefunden".

Der TDBNavigator kann maximal über eine DataSource (und deren DataSet)
auf eine Tabelle zugreifen.
Also hat er keine Chance, festzustellen, was der Nutzer darf.

Ich würde die Rechte selber bestimmen und VisibleButtons verwenden.
Zum Bestimmen der Rechte über Rollen gab es hier schon mal nen Thread.
Die entsprechende Systemtabelle ist rdb$roles,
am besten du schnappst dir ibexpert und schaust dir diese Tabelle
und deren Referenztabellen an.

Ha,

muss ich gleich mal fragen,
wie arbeitet es sich mit den FIBPlus ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Tihalc

Registriert seit: 7. Feb 2006
Ort: Tornesch (Hamburg)
3 Beiträge
 
#3

Re: Problem DBNavigator und Roles (Firebird 1.5)

  Alt 13. Dez 2006, 08:55
Zitat:
Ich würde die Rechte selber bestimmen und VisibleButtons verwenden.
Zum Bestimmen der Rechte über Rollen gab es hier schon mal nen Thread.
Die entsprechende Systemtabelle ist rdb$roles,
am besten du schnappst dir ibexpert und schaust dir diese Tabelle
und deren Referenztabellen an.
Genau diese wollte ich umgehen. Ich weiß, das IBObject einen eigenen Navigator mitbringt. Weiß aber nicht, ob der das handeln kann.

Die Fibplus kann mehrere SQL statement aufnehmen (Jeweils für Insert, Delete, Select...) Wenn ich aber nur Select rechte habe knallt es, wenn ich alle SQL Statement eingetragen habe. Anders herum, wenn ich nicht alle eingetragen habe und alle Rechte habe, sind nicht alle Buttons enabled beim DBNavi.

Zitat:
muss ich gleich mal fragen,
wie arbeitet es sich mit den FIBPlus ?
Viel kann ich dazu noch nicht sagen. Bin noch in der Testphase, ob die FibPlus für das kommende Projekt das Richtige ist. Vorher habe ich mit der BDE und danach mit den Zeos Komponenten gearbeitet. Bei den Zeos bin ich schnell an die gernzen gestoßen.
Die Fiblus händeln sich eigentlich sehr ähnlich wie die Zeos. Nur bringen sie leider keine Komponenten zur Datenbanksteuerung mit ( Was die IBObject tun)


Gruß Tihalc
Tobias Eggers
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Problem DBNavigator und Roles (Firebird 1.5)

  Alt 13. Dez 2006, 09:16
Hallo,

was heisst Datenbank-Steuerung ?
die Services (Backup ...) ?

Ich arbeite immer noch mit der BDE .
Bin aber dabei, intern alles auf bridge pattern umzustellen (jaja ),
um dann frei entscheiden zu können, was ich benutzen werde.


Heiko
Heiko
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Problem DBNavigator und Roles (Firebird 1.5)

  Alt 13. Dez 2006, 09:19
Zitat von Tihalc:
...Wenn ich aber nur Select rechte habe knallt es, wenn ich alle SQL Statement eingetragen habe. Anders herum, wenn ich nicht alle eingetragen habe und alle Rechte habe, sind nicht alle Buttons enabled beim DBNavi...
1. Besetze mal sämtliche SQLs im SQL-Generator standardmäßig. 2. Aufpassen, dass Active im OI auf false steht. 3. dann im Quelltext :
Delphi-Quellcode:
FIBDataSet.SelectSQL.Text := 'SELECT ?????????';
FIBDataSet.Open;
Der Rest mit DataSource usw. is ja wohl klar.

Ah, das noch :
Zitat von Tihalc:
Die Fiblus händeln sich eigentlich sehr ähnlich wie die Zeos. Nur bringen sie leider keine Komponenten zur Datenbanksteuerung mit ( Was die IBObject tun)
Zeos : kein Kommentar. Ein Grund, FIBPlus zu benutzen ist aber die Tatsache, dass sie voll kompatibel zu den Delphi-eigenen Sachen sind und eben keinen eigenen DB-Kram mitschleppen. Egal, was zum Zugriff benutzt wird und welche DB-Komponenten man benutzt. Außer für kleine Testprogramme taugen die nichts. Siehe die Frage hier.
Gruß
Hansa
  Mit Zitat antworten Zitat
Tihalc

Registriert seit: 7. Feb 2006
Ort: Tornesch (Hamburg)
3 Beiträge
 
#6

Re: Problem DBNavigator und Roles (Firebird 1.5)

  Alt 13. Dez 2006, 09:30
Zitat:
was heisst Datenbank-Steuerung ?
die Services (Backup ...) ?
Damit meinte ich die DB_Navigator Komponente und DBGrid etc..

Zitat:
1. Besetze mal sämtliche SQLs im SQL-Generator standardmäßig. 2. Aufpassen, dass Active im OI auf false steht. 3. dann im Quelltext :
Hatte 1. auch so gemacht. Jetzt wo du es sagt, fällt es mir wieder ein, das es mit Active auf false geklappt hat.

Hmm, vielleicht ist jetzt der Moment gekommen, wo ich mich mit der Komponentenentwicklung beschäftigen werde und der DB Navigator das beibringe, was ich will...


Wäre aber toll, wenn man dazu noch was über die IBObject erfähren könnte.
Tobias Eggers
  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 00:51 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