interessensfrage client-server-system

MadJoe

MadJoe

Eroberer
hallo alle zusammen,

mich würde mal eure meinung zu folgendem thema interessieren:

bei der entwicklung von datenbank-applikationen wird ja meist nur ein nativer datenbankbenutzer verwendet, um den zugriff dann über eine eigenständige tabelle zu regeln (insbesondere bei webapplikationen)...

jetzt bieten aber datenbanksysteme eigentlich sehr weitgreifende zugriffsregelungen und sind für viele nutzer ausgelegt. denke dabei auch an SP und Sichten

würd es jetzt eurer meinung nach, bei der entwicklung eines mehrbenutzer-wirtschaftsverwaltungssystems, sprich erp (z.b. in java und postgresql) überhaupt sinn machen, eine eigene java-server-schicht zu implementieren, die als schnittstelle zwischen datenbank und endbenutzer-anwendung steht, oder sollte man gleich den zugriff über native nutzer mit dem datenbank-server ermöglichen

grüße joe
 
Also unter dem Sicherheitsaspekt gesehen:
Wenn sich der User bei deiner Awendung anmelden muss, dann macht es sinn, diesen Account auch für die DB zu verwenden. Dann musst du z.B. dien db-root-Passwort nirgends im code speichern und es wäre eine schöne Lösung.

Wenn du allerdings kienen großen Wert auf die sicherheit zwischen den Nutzern legst, oder die Anwendung sowieso nur gleichberechtigte User nutzen, die z.B. nur ihre eigenen GUI-Einstellungen speichern, musst du dich wohl kaum mit Sichten usw. ärgern (ein grundsystem wäre aber wohl schon gut, sodass nur der Administrator größere Anderungen durchführen kann und die eizelnen User eher geringere Rechte haben)

Ich würde auf jeden Fall für jedem Benutzer eine Gruppe zuteilen und ihm danach einen Datenbank-Nutzer geben. Ja nach anwendung brauchst du aber sowieso für jeden eine einzelne Gruppe, dann kannst dus auch glaich über User machen.

(Ich hätte zumindest ein schlechtes Gefühl, wenn sich irgendwer eine Applikation runterläd, die einen vollständigen Datenbankzugriff enthält (wenn auch nur recht kryptisch, man kann an der eigenen Maschiene sehr viel machen), da muss man ja schon bei PHP (Serverseitig) höllisch aufpassen, dass keiner an deine Logins kommt)

Wenn für dich Sicherheit keine (große) Rolle spielt kannst du das Berechtigungsfeld auch ganz in deiner Applikation regeln, dann musst du nicht auf so vielen Ebenen programmieren.
 
naja, ich lege sehr großen wert auf sicherheit, wenn würde ich natürlich das root passwort keinesfalls im code speichern wollen, schon gar net im client-code...

meine idee bzw. frage geht (wenn man sap z.b. hernimmt) eher in die richtung:

(datenbankserver) -> (applikations-server) -> (applikations-client)

oder ob ich alle verifizierungen direkt mittels integrierten db-user / db-funktionen bereitstellen soll, der benutzer hat dann natürlich sein eigenes db-passwort, andernfalls sein eigenes applikations-server-passwort, die datenbank würde dann so zusagen nur als datenspeicher im hintergrund dienen und nur der applikations-server darf überhaupt eine verbindung mit der datenbank selbst herstellen
 
ich denke, das kannst du machen, wie du willst. Sicherer ist es wohl, wenn der User ein db-Passwort hat, weil er dann schon an den DB-Server ranmüsste (und da ist es dann sowieso zu spät...) und deine Passwörter nicht zwischen DB- Appserver abgefangen werden können.
 
Zurück
Oben