Grundlæggende fordi det ikke var muligt med tilbagevirkende kraft at ændre, hvordan synspunkter fungerer. Jeg vil gerne være i stand til at understøtte SECURITY INVOKER
(eller tilsvarende) for synspunkter, men så vidt jeg ved, findes der ikke en sådan funktion i øjeblikket.
Du kan normalt filtrere adgangen til visningen med rækkesikkerhed.
De tabeller, som visningen får adgang til, vil også have deres rækkesikkerhedsregler anvendt. De vil dog se current_user
som visningsskaber fordi visninger får adgang til tabeller (og andre visninger) med rettighederne til den bruger, der har oprettet/ejer visningen.
Måske ville det være værd at rejse dette på pgsql-hackere, hvis du er villig til at træde ind og hjælpe med udviklingen af den funktion, du har brug for, eller pgsql-generelt ellers?
Når det er sagt, mens du ser adgangstabeller som den oprettende bruger og ændrer current_user
derfor forhindrer de dig ikke i at bruge tilpassede GUC'er, session_user
, eller andre kontekstuelle oplysninger i rækkesikkerhedspolitikker. Du kan bruge rækkesikkerhed med visninger, bare ikke (nyttigt) til at filtrere baseret på current_user
.