Eigenlijk omdat het niet mogelijk was om met terugwerkende kracht de werking van weergaven te wijzigen. Ik wil graag SECURITY INVOKER
. kunnen ondersteunen (of equivalent) voor weergaven, maar voor zover ik weet bestaat een dergelijke functie momenteel niet.
U kunt de toegang tot de weergave zelf met rijbeveiliging normaal filteren.
Op de tabellen die door de weergave worden geopend, worden ook hun rijbeveiligingsregels toegepast. Ze zien echter de current_user
als de viewer omdat weergaven toegang krijgen tot tabellen (en andere weergaven) met de rechten van de gebruiker die de weergave heeft gemaakt/bezit.
Misschien is het de moeite waard om dit op pgsql-hackers te melden als je bereid bent om in te grijpen en te helpen met de ontwikkeling van de functie die je nodig hebt, of anders pgsql-algemeen?
Dat gezegd hebbende, terwijl toegangstabellen worden bekeken als de creërende gebruiker en current_user
dienovereenkomstig voorkomen ze niet dat u aangepaste GUC's gebruikt, de session_user
, of andere contextuele informatie in rijbeveiligingsbeleid. U kunt rijbeveiliging gebruiken met weergaven, alleen niet (nuttig) om te filteren op basis van current_user
.