ARES - RLS Režim kompatibilnosti (Compatibility Mode)

Kod, koji mora da se izvodi bez bezbednosnog konteksta ovlašćenja, zahteva lažno predstavljanje. Nekoliko funkcija i svojstava je dostupno za lažno predstavljanje.
Kada se pokrene naredba "EXECUTE AS", kontekst izvršavanja sesije se prebacuje na navedeno ime za prijavu ili korisničko ime. Nakon promene konteksta, dozvole se proveravaju u odnosu na tokene za prijavu i korisničku bezbednost za navedeni nalog umesto da nalog poziva naredbu EKSECUTE AS.
Pogledajte sledeći kod:
Select USER_NAME()
execute as user = 'RLS_ALL'
Select USER_NAME()
revert
Select USER_NAME()
Rezultat:

 |
UPOZORENJE
Revert se mora pozvati! Korisnik ili nalog za prijavu se lažno predstavlja tokom trajanja sesije ili izvršavanja modula. Nakon toga, promena konteksta se vraća nazad.
|
 |
UPOZORENJE
Sve funkcije i metode menjaju kod samo kada je IsRLS = True
|
Isti kod se može koristiti na bazama sa RLS-om ili na onima bez RLS.
- IsRLS: returns True ako je RLS omogućen na bazi.
proveravamo sa: select * from [dbo].[fPA_RLSEnabled]()
- Funkcija SQLToSQLRLSAll(ASQL: String): String;
Konvertuje SQL

- ARES.ExecuteStep_RLS_ALL(3);
Kod i 3 korak će biti izvršeni pomoću SQLToSQLRLSAll.
- ExecuteAsUser_RLS_ALLSQL
Koristite sledeće stavke:
- ExecuteAsUser_RLS_ALLSQL(True): execute as user = 'RLS_ALL' statement is run
- ExecuteAsUser_RLS_ALLSQL(False): revert statement is run

- Property TdlDataset.ExceuteAs_RLS_ALL := True;
Code TdlDataset.SQL.Text will be executed using SQLToSQLRLSAll.
Povezane teme:
RLS- Sigurnost podataka na nivou reda
Kako RLS deluje u praksi
Nadogradnja
Baza podataka
Promene koda