Промени в кода

- Модифициране на SQL обекти
- ARES
- Промени в кода – Пример 1
- Промени в кода – Пример 2
|
1. Модифициране на SQL обекти
SQL: Добавете WITH EXECUTE AS 'RLS_ALL'
Запитвания, които се нуждаят от достъп до всички данни независимо от потребителските разрешения, трябва да бъдат преместени в SQL обекти (съхранени процедури, функции и др.) и изпълнени с представяне AS USER 'RLS_ALL'
а) Пример: Намерете последния acKey в tHE_Move:
При вмъкване на записи, нов ackey е необходим за вмъкване на документ.
Потребителят, който вмъква записа, няма разрешение за всички документи за определен тип документ, тъй като разрешенията зависят от отдел, склад и/или всяко друго разрешение, следователно е необходимо да се изпълни такъв SQL без ограничения на разрешенията.
моля, проверете съхранената процедура pHE_MoveGetNewKey

Забележка: WITH EXECUTE AS 'RLS_ALL' може да се използва в изгледи, тригери, функции (с изключение на функции с таблици с инлайн стойности)
б) Проверете също:
gPA_SetDoctype_security
pMN_DocumentNewKey
Намерете обекти с представяне RLS_ALL:
изберете SO.*, OBJECT_DEFINITION(SO.object_id)
от sys.objects SO
където OBJECT_DEFINITION(SO.object_id) като '%RLS_ALL%'
2. ARES
а) Модифициране на PL / SQL скриптове
За да се представи целият PLS / SQL скрипт, използвайте EXECUTE AS USER = 'RLS_ALL'.
Проверете пример на Dev Site.

 |
Същият код се генерира при използване на свойството Dataset |
 |
Използвайте подготвени методи, за да постигнете тези функционалности. |
Проверете Режим на съвместимост ARES
б) ARES и SQL: Премахнете свързванията с таблиците t%Security в SQL и PL/SQL кода
Проверете промените в vHE_Move

Свързванията с таблиците t%UserSecurity трябва да бъдат премахнати. RLS прилага t%UserSecurity таблици, както е посочено с политиката за сигурност и RLS функция за всяка таблица. За подробна информация, моля, проверете Архитектура на RLS.
3. Промени в кода – Пример 1:
Обектите, които се нуждаят от достъп без разрешения, трябва да бъдат модифицирани, като се добави:
с изпълнение като 'RLS_ALL'

4. Промени в кода – Пример 2:
създайте процедура [dbo].[pHE_MoveGetNewKey]
@cPoslDog varchar(04),
@dDatum DATETIME,
@cKljuc varchar(13) = '' OUTPUT
WITH EXECUTE AS 'RLS_ALL'