Можно ли использовать Oracle Label Security в контексте данных Entity Framework?

#oracle #entity-framework

#Oracle #entity-framework

Вопрос:

У меня есть таблица, настроенная с политикой OLS (уровни, разделы, группы) — пользователь с определенной меткой пользователя OLS может получить доступ только к некоторым строкам в таблице в соответствии с их меткой данных OLS. Прямо сейчас я использую строки для подключения к базе данных Oracle, а затем выполняю запрос из этой таблицы (например, «select * from mytable»). Могу ли я спросить, можно ли для этого использовать Entity Context? Например, один контекст данных, но многопользовательская учетная запись Oracle (схемы) с разными пользовательскими метками запрашивает из этого контекста одной сущности, чтобы мне не приходилось использовать строки?

Ответ №1:

Безопасность меток (OLS) влияет на строки, отображаемые пользователю, а не на столбцы и т. Д.

т.е. модель данных предназначена для любого пользователя, которому разрешено выбирать таблицы одинаково — поэтому, если вы предоставили пользователю 1 право выбора таблицы T1, но OLS ограничил доступ пользователя 1 к данным, подключенным к азиатскому местоположению, Пользователь1 будет видеть только азиатские данные, но не строки для европейских местоположений — Если Пользователь2 является «суперпользователем» -т.е. разрешено извлекать строки из любого местоположения, Пользователь2 увидит любые строки.

Самый простой способ доказать это — сделать

desc T1

Оба пользователя увидят одно и то же описание таблицы — и это то, на что ссылается EF / LINQ. Итак, как пользователь с OLS и предоставленной таблицей выбора, вы получили 0, подмножество или все строки — но каждый раз описание таблицы

Комментарии:

1. Пример: прямо сейчас у меня есть пользователь «admin» и таблица «company», настроенные с помощью политики OLS. Когда я создаю контекст сущности на основе схемы «admin».»company», любой запрос, который я делаю, основывается только на этой схеме. Я хочу изменить подключение контекста к другой схеме, например: manager, employee1,… Я пробовал ссылку , но она не работает.

2. Пожалуйста, смотрите medium.com/@pawel.gerr /…