Modificări de cod

- Modifică obiectele SQL
- ARES
- Modificări de cod – Exemplu 1
- Modificări de cod – Exemplu 2
|
1. Modifică obiectele SQL
SQL: Adaugă WITH EXECUTE AS 'RLS_ALL'
Interogările care necesită acces la toate datele, indiferent de autorizațiile utilizatorului, ar trebui mutate în obiecte SQL (proceduri stocate, funcții, ..) și executate cu impersonare AS USER 'RLS_ALL'
a) Exemplu: Găsește ultimul acKey în tHE_Move:
Când se introduc înregistrări, este necesar un nou ackey pentru a insera un document.
Utilizatorul care introduce înregistrarea nu are autorizație pe toate documentele pentru un anumit tip de document, deoarece autorizațiile depind de departament, depozit și / sau orice altă autorizație, astfel că este necesar să se execute astfel de SQL fără restricții de autorizație.
te rog verifică procedura stocată pHE_MoveGetNewKey

Notă: WITH EXECUTE AS 'RLS_ALL' poate fi folosit în Vederi, declanșatoare, funcții (cu excepția funcțiilor de tip tabel inline)
b) Verifică de asemenea:
gPA_SetDoctype_security
pMN_DocumentNewKey
Găsește obiectele impersonate RLS_ALL:
select SO.*, OBJECT_DEFINITION(SO.object_id)
from sys.objects SO
where OBJECT_DEFINITION(SO.object_id) like '%RLS_ALL%'
2. ARES
a) Modifică scripturile PL / SQL
Pentru a impersona un script PLS / SQL complet, folosește EXECUTE AS USER = 'RLS_ALL'.
Verifică exemplul pe Site-ul de dezvoltare.

 |
Acelasi cod este generat când se folosește proprietatea Dataset |
 |
Folosește metode pregătite pentru a realiza aceste funcționalități. |
Verifică Modul de compatibilitate ARES
b) ARES și SQL: Elimină join-urile la t%Security tabele în codul SQL și PL/SQL
Verifică modificările vHE_Move

Join-urile la t%UserSecurity tabele trebuie eliminate. RLS se aplică încrucișat t%UserSecurity tabele așa cum este specificat cu politica de securitate și funcția RLS pentru fiecare tabel. Pentru informații detaliate, te rog verifică Arhitectura RLS.
3. Modificări de cod – Exemplu 1:
Obiectele care necesită acces fără permisiuni trebuie modificate prin adăugarea:
cu execuție ca 'RLS_ALL'

4. Modificări de cod – Exemplu 2:
creați procedura [dbo].[pHE_MoveGetNewKey]
@cPoslDog varchar(04),
@dDatum DATETIME,
@cKljuc varchar(13) = '' OUTPUT
WITH EXECUTE AS 'RLS_ALL'