Seite 1 von 1

Rechtestruktur mit Base möglich?

Verfasst: Mi, 30.05.2012 21:13
von Thami
Hallo,

ich bin ein ziemliches Greenhorn was Datenbanken mit Base betrift. Bisher habe ich hauptsächlich MySql und Access programmiert.
Zu der Problemstellung die ich nun habe bin ich nicht fündig geworden.

Ich soll eine zentrale Datenbank entwickeln, die evtl. Base als Frontent haben soll.
Allerdings soll es verschiedene Zugriffsebenen geben.
Ich habe gelesen, dass man eine ganze Datenbank per Passwort schützen kann, aber kann man auch personalisierte Zugänge vergeben, damit erfasst werden kann wer welche Änderungen gemacht hat?
Kann man in Base überhaupt Rechtegruppen einrichten?
Einige Nutzer dürfen manche Formulare und vor allem auch nicht die Tabellen dazu sehen.
Andere dürfen bestimmte Felder einer Maske nur sehen und nicht bearbeiten.
Ist so etwas mit Base möglich, oder müsste man für jede Benutzergruppe ein eigenes Frontend basteln.

Vielen Dank schon mal für die Antworten.

Thami

Re: Rechtestruktur mit Base möglich?

Verfasst: Mi, 30.05.2012 21:41
von RobertG
Hallo Thami,

Zugriffsrechte lasse sich für Datenbanken in Base nicht vergeben. Solche Elemente musst Du über die Datenbank regeln. Und da Base sowieso nur als Frontend dienen kann, muss dort festgelegt werden, wer mit welchem Passwort welche Tabellen zu Gesicht bekommen darf. Bei MySQL z.B. geschieht dies durch die GRANT- bzw. REVOKE-Anweisungen.
Alle anderen Wege sind in allen anderen Systemen genauso unsicher. Ich muss immer davon ausgehen, dass der User einfache SQL-Befehle absetzen kann. Und wenn die nicht von der Datenbank abhängig vom Inhalt zurückgewiesen werden, dann sind alle Daten zugänglich.

Da Du Kenntnisse in MySQL hast, ist dies wohl die Datenbank, die Du wählen wirst. Dann hast Du Base als Frontend, das dann brav nach einem Benutzer und einem Passwort fragen wird. Und Formulare, die auf bestimmte Tabellen zugreifen, sind für den User entsprechend von der Datenbank her gesperrt.

Gruß

Robert

Re: Rechtestruktur mit Base möglich?

Verfasst: Mi, 30.05.2012 21:56
von paradigma
Hallo Thami

Die Möglichkeiten hängen in deinem Fall nicht nur von OpenOffice (als Frontend) ab, sondern auch davon, welche Datenbank zu wählst.

Da gibt es z.B. MySQL, H2, eine HSQLDB als nicht eingebundene DB und noch weitere.

Ich teste zurzeit mit einer H2-Datenbank und mit OpenOffice Base als Frontend.

Dort hast du Rechtemässig ganau die Möglichkeiten, die du beschreibst.

Mit einem einfachen SQL-Befehl (Create User) kannst du dort einen neuen Benutzer anlegen.
Diesem musst du dann speziell Alle Berechtigungen zuordnen (Welche Tabellen darf er lesen, welche darf er Beschreiben, du kannst es auch auf Tabellenspalten einschränken).
Um Rechte zusammenzufassen, kann man im weiteren auch Rollen definieren.

Bei H2 machen mir zurzeit die Subformulare etwas Kopfzerbrechen und ich habe mit H2 auch zuwenig Erfahrung, um es konkret weiter empfehlen zu können.

Die gleichen oder ähnliche Möglichkeiten bieten aber meines Wissens auch MySQL, HSQLDB und vermutlich noch weitere.

Mit anderen Worten, deine Grundanforderungen sind sicher umsetzbar. In welcher Form und mit welcher DB, hängt natürlich von deinen detaillierteren Anforderungen ab.

Gruss
Beni

Re: Rechtestruktur mit Base möglich?

Verfasst: Do, 31.05.2012 16:47
von Thami
Vielen Dank für die schnellen Antworten.
Wenn ich das Richtig verstanden habe kann ich aber nicht sagen. Wenn ein Benutzer der Gruppe xy angemeldet ist zeige das Formular vw nicht an, sondern ich müsste für jede Gruppe ein eigenes Frontend basteln. Ich glaube, dann mach ich es doch lieber in PHP.

Re: Rechtestruktur mit Base möglich?

Verfasst: Do, 31.05.2012 17:03
von RobertG
Hallo Thami,

auch wenn Du das in PHP machst wirst Du
- die Rechteverwaltung besser über die Datenbank regeln, weil das einfach die sicherste Methode ist,
- separate Formulare zusammenstellen müssen, abhängig von der Anmeldung, die getätigt wurde.

Ich mache auch Datenbanken mit PHP-Ansteuerung. Gegen Formularänderungen sehne ich mich aber jedes Mal an. In Base hingegen mache ich so etwas nebenbei.

Gruß

Robert

Re: Rechtestruktur mit Base möglich?

Verfasst: Do, 31.05.2012 23:03
von paradigma
Hallo Thami

Wieso denkst du, dass du für jede Gruppe ein eigenes Frontend benötigst?

Rein von den Berechtigungen ist das jedenfalls nicht nötig. Wie Robert geschrieben hat, werden diese in der zentralen Datenbank geregelt (was auch immer du für eine wählst).

Diese Berechtigungen werden ans Frontend "weitergegeben". Wenn also eine Person eine Formular öffnet, wo eine Tabelle angebunden ist, auf die sie weder Schreib- noch Leseberechtigung hat, werden im Formular einfach keine Daten angezeigt und es erscheint (zumindest mit H2 als DB) eine Fehlermeldung, die auf die fehlenden Berechtigungen hinweist.

Wenn du generell vermeiden möchtest, dass User Formulare öffnen können, die sie nicht benötigen, kannst du am Anfang ein Frontend mit allen benötigten Formularen erstellen, und dann jene Formulare bei jenen Benutzergruppen einfach rauslöschen, von denen du weisst, dass Sie sie nicht benötigen.

Gruss
Beni