Promjene koda

- Modificiraj SQL objekte
- ARES
- Promjene koda – Uzorak 1
- Promjene koda – Uzorak 2
|
1. Modificiraj SQL objekte
SQL: Dodaj WITH EXECUTE AS 'RLS_ALL'
Upiti koji trebaju pristup svim podacima bez obzira na korisničke ovlasti trebaju biti premješteni u SQL objekte (pohranjene procedure, funkcije, ..) i izvršeni s impersonacijom AS USER 'RLS_ALL'
a) Uzorak: Pronađi posljednji acKey u tHE_Move:
Kada se unose zapisi, novi ackey je potreban za umetanje dokumenta.
Korisnik koji unosi zapis nema ovlast na sve dokumente za određenu vrstu dokumenta jer ovlasti ovise o odjelu, skladištu i / ili bilo kojoj drugoj ovlasti, stoga je potrebno izvršiti takav SQL bez ograničenja ovlasti.
molimo provjerite pohranjenu proceduru pHE_MoveGetNewKey

Napomena: WITH EXECUTE AS 'RLS_ALL' može se koristiti u Pogledima, okidačima, funkcijama (osim inline funkcija s tablicama)
b) Provjerite također:
gPA_SetDoctype_security
pMN_DocumentNewKey
Pronađi RLS_ALL impersonirane objekte:
select SO.*, OBJECT_DEFINITION(SO.object_id)
from sys.objects SO
where OBJECT_DEFINITION(SO.object_id) like '%RLS_ALL%'
2. ARES
a) Modificiraj PL / SQL skripte
Za impersonaciju cijele PLS / SQL skripte koristi EXECUTE AS USER = 'RLS_ALL'.
Provjeri uzorak na Dev Site.

 |
Isti kod se generira kada se koristi svojstvo Dataset |
 |
Koristite pripremljene metode za postizanje ovih funkcionalnosti. |
Provjeri ARES način kompatibilnosti
b) ARES i SQL: Ukloni spojeve na t%Security tablice u SQL i PL/SQL kodu
Provjeri vHE_Move promjene

Spojevi na t%UserSecurity tablice trebaju biti uklonjeni. RLS se primjenjuje na t%UserSecurity tablice kako je specificirano sigurnosnom politikom i RLS funkcijom za svaku tablicu. Za detaljne informacije molimo provjerite RLS arhitektura.
3. Promjene koda – Uzorak 1:
Objekti koji trebaju pristup bez dozvola trebaju biti modificirani dodavanjem:
with execute as 'RLS_ALL'

4. Promjene koda – Uzorak 2:
create procedure [dbo].[pHE_MoveGetNewKey]
@cPoslDog varchar(04),
@dDatum DATETIME,
@cKljuc varchar(13) = '' OUTPUT
WITH EXECUTE AS 'RLS_ALL'