Theoriefrage : Sichere anmeldung an einer SQL-Datenbank

Status
Nicht offen für weitere Antworten.

Tallan

Bekanntes Mitglied
Hallo zusammen,

ich schreibe zur Zeit ein Programm das auf Daten in einer SQL-DB zugreif, die Daten liegen hierbei alle in der selben Tabelle.
Der Nutzer sollte aber nur das "Recht" haben einen teil dieser Daten zu lesen.

Meine Frage ist wie sichere ich das am besten ab.

Meine erste idee war dem User im Programm selbs spezifische rechte zu geben was er machen darf oder nicht.
Problem hierbei wäre das er generell aber die rechte hätte diese Daten abzufragen (z.B. über ein anderes Progamm).

Wie ich von der Datenbankseite aus verhindern kann das der User auf Daten die in der selben Tabelle liegen und sich nur durch ein Flag unterscheiden nicht zugreifen kann weiß ich leider auch nicht, ist das überhaupt möglich?
 

The_S

Top Contributor
Generell ist das ein eher ungünstiges Design. Ich würde dort am ehesten einen Server vor die DB schalten. Von außen kann nicht direkt auf die DB zugegriffen werden, sondern nur über den Server. Dieser steuert die Berechtigungen.
 

Tallan

Bekanntes Mitglied
Generell ist das ein eher ungünstiges Design. Ich würde dort am ehesten einen Server vor die DB schalten. Von außen kann nicht direkt auf die DB zugegriffen werden, sondern nur über den Server. Dieser steuert die Berechtigungen.

Die Idee hatte ich auch schon allerdings muß ich sagen das ich ein extra programm nur um die zugriffe nochmals zu sichern für unnötig halte sofern es eine andere lösung gibt.
 

Tallan

Bekanntes Mitglied
Gibt es nicht. Zumindest keine sichere.
Falls du eine findest gib uns Bescheid. Wir sagen dir dann warum der Hob.... das_S doch recht hatte ;)

ich versuche momentan eine möglichkeit zu finden das ganze per ssl zertifikat zu lösen, da eine verschlüsselung generell nicht verkehrt wäre und so, so hoffe ich zumindest gewährleistet wäre das keine anderen tools benutzt werden können und ich somit die zugriff über den client koordinieren kann, dafür habe ich allerdings einen seperaten thread erstellt
 
M

maki

Gast
Frage: Stehen die Anmeldedaten (Benutzername, Passwort, DB Url) im Quellcode? ;)
 

tfa

Top Contributor
Die einzige Möglichkeit wäre, für jeden Anwender einen Datenbankuser anzulegen und die Berechtigungen auf DB-Ebene zu verwalten (vielleicht über Stored Procedures? jeder User hat seine eigenen Tabellen?). Die Anwender meldet sich dann mit dem jeweiligen Datenbank-Passwort an. Das wäre aber ein riesen Aufwand in der Benutzerverwaltung. Die Server-Client-Lösung ist meiner Meinung nach das sauberste.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben