Was ist der beste Ansatz zu implementieren Zeile Ebene Sicherheit im Frühjahr Web-Anwendung und ihre Datenbank? Ich habe viele Tabellen, die Anwendungsbenutzerdaten enthalten. Der Benutzer kann nur seine eigenen Zeilen auswählen, aktualisieren und löschen. Der Benutzer ist in der Tabelle in der Datenbank definiert und protokolliert die Anwendung mit Federsicherheit. Ich verwende ein Datenbankkonto, um eine Verbindung zwischen Anwendung und Datenbank herzustellen.Spring Application Datenbank Zeile Ebene Sicherheit besten Ansatz
Meine Idee ist, Spalte mit Benutzernamen in jeder Tabelle zu erstellen (brauche ich Beziehungen hier?). Jetzt kann ich einfach 'where username = <username>'
in Backend-Abfragen hinzufügen. Ist es eine gute Idee? Was ist der häufigste Ansatz in solchen Fällen?
Ich verwalte den Datenzugriff mit JPA und Hibernate.
Es wird nur auf der Anwendungsseite filtern, Sie können Leistungsprobleme haben, sobald Sie alles (abhängig von Ihrer WHERE-Klausel) aus der Datenbank vor dem Filter abrufen. Es ist besser, zu einer anderen Lösung zu wechseln, die die Datenbank where-Klausel filtert (mit JPA, Spring Data oder einer anderen Lösung). –