Temat: Architektura aplikacja<->baza danych
Witam, tworzę aplikację łączącą się z bazą danych (postgresql). Jest kilku użytkowników aplikacji i powinni oni mieć różny dostęp poprzez aplikację do bazy danych. Mianowicie jest np. tabela „Materiały” i w niej kolumna „Id” - chciałbym żeby użytkownik „A” miał dostęp do wierszy w których pole „Id” jest większe od 100 a użytkownik „B” do wszystkich wierszy tej tabeli. Z tego co wiem można odbierać lub nadawać prawa do tabel. Ale co jeśli chce żeby użytkownik miał dostęp tylko do wybranych wierszy tabeli. Można oczywiście napisać funkcję(procedurę) „pobierz dla A”, „pobierz dla B”, albo funkcję z parametrem(ale to chyba nie było by w tym przypadku za bezpieczne (brak gwarancji, że użytkownik „A” nie wpisze 0 zamiast 100)).
Jaki jest najlepszy (najbezpieczniejszy) sposób rozwiązania mojego problemu, oprócz pisania dla każdego użytkownika oddzielnych procedur?