![]() |
Datenbankanwendung mit Benutzerrechten... Wer kann helfen ?
Hallo !
Ich muss eine Dantenbankanwendung programmieren, bestehend aus Kunden-, Projekt- und Zeiterfassungsmodul. Jetzt sollen verschiedene User auch verschiedene rechte haben, so soll benutzer A z.B. keine möglichkeit haben ins kundenmodul zu schauen aber dafür seine Arbeitszeiten zu erfassen. bei benutzer B genau umgekehrt. Nach welchem Schema würdet Ihro sowas machen ? Beim Programstart einen anmeldemaske, dann wird der angemeldete Benutzer und seine rechte in einer globalen variable gespeichtert solang die anwendung läuft, und dann ? Meine einzige Idee wäre das immer wenn benutzer A auf den Button "Kundenstamm" klickt erstmal abgefrgt wird: Hat der benutzer das recht diesen zu sehen.. aber das ist ja total aufwändig wenn vor dem öffnen jedes fenster abgefragt wird ob das der aktuell angemeldete benutzer auch darf... :-/ Hat jemand schonmal sowas oder was ähnliches gemacht und hat einen tip für mich ? Danke |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Mit der Abfrage in deine Anwendung hast du noch kein Sicherheitsloch gestopft. Die Tabellensperre muss auf Datenbankebene erfolgen, vorausgesetzt du nutzt ein Datenbanksystem, welches das auch unterstützt. Von Firbird über MySQL, bis hin zu MSSQL oder Oracle bist du da aber auf der sicheren Seite.
Jedenfalls verpasst du deinen Datenbankaccounts entsprechende Rechte. Deine Leute müssen sich dann in die Datenbank einloggen, und erhalten automatisch nur Zugriff auf erlaubte Aktionen. In deinem Programm kannst du das dann noch zusätzlich abfangen, ist aber kein Muss. |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Hm, naja aber wen ich das auf datenbank-ebene mache dann habe ich ja folgendes problem: der benutzer will einen neuen Kunden anlegen, ok, dialog kunden aanlegen öffnet sich. er gibt alle daten ein und wenn er dann auf Übernehmen klickt werden ja die daten in die datenbank eingefügt. wenn er jetzt dazu aber die rechte garnicht besitzt hat er ja alles umsonst eingetippt nur um dann zu erfahren das er keine rechte dazu hat. man sollte also diesn user garnicht erst in den dialog "kunden alegen" hereinlassen oder noch besser für bestimmte user bestimmt Menüs sperren. Ich glaub ich bin grad selber drauf gekommen...
wenn jemand trotzdem eine gute idee hat wie man sowas auf anwedungsebene und nicht auf der datenbankebene realisieren kann dann bin ich für alles offen... |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Zitat:
Dies wird aber für 90% der Anwendungen nicht der Fall sein (z.B. der User X darf nur Kunden aus dem Gebiet X sehen bzw. bearbeiten oder nur Aufträge bis 10.000 EURO eingeben), so daß eine eigene Benutzer/Rechteverwaltung nötig ist. |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Zitat:
Ich mache das immer so:
Gruß, Marcel |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Zitat:
@Marcel: Dein vorschlag ist wohl der Einfachste, wenn man nicht absolute Sicherheit in der Datenbank anstrebt. Bei kritischen Daten (z.B. Personendaten mit Lohninformationen) ist dies jedoch nicht der beste Weg. So wie du es beschreibst nutze ich es selbst in einem Projekt (Rema, auch hier im Forum schon mal durchdiskutiert worden), aber eigentlich nur, weil ich MySQL als Server nutze, und aber auch aus Bequemlichkeit. Prinzipiell gilt immer, wenn es wirklich um sensible Daten geht, sollte man die Sicherheit einem Datenbankserver überlassen. Ist aber nur meine Meinung. |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Moin,
ich finde, der beste Weg ist, GUI- und DB-Sicherheiten zu verknüpfen! Mit seinem DB-Account meldet sich der Benutzer am Programm an. In zusätzlichen Tabellen sind die Sicherheiten für die GUI gespeichert (welche Menüpunkte darf er sehen/auswählen, sind Datenmengen/Eingabemasken ReadOnly usw.) Diese werden beim Start überprüft und umgesetzt. Somit kann innerhalb der Software kein Bereich betreten werden, wo man nicht hindarf und zusätzlich können Daten nicht über eine andere Schnittstelle abgerufen/manipuliert werden. MfG Stevie |
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Zitat:
|
Re: Datenbankanwendung mit Benutzerrechten... Wer kann helfe
Zitat:
Alternativen wäre z.B. auch 3-Tier-Architektur mit Rechteverwaltung auf Businness-Schicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
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-2025 by Thomas Breitkreuz