Обработка привилегий столбца базы данных в окнах данных

Как обрабатывать привилегии столбца БД в окнах данных, чтобы избежать получения «Разрешение SELECT отклонено для столбца»....

У меня есть окно данных, в котором отображаются столбцы таблицы, разрешения пользователей/ролей различаются для определенных столбцов и устанавливаются в соответствии с бизнес-правилами на уровне базы данных, чтобы избежать переопределения разрешений приложения...

проблема заключается в том, что пользователи, вошедшие в систему, у которых нет «привилегии выбора» для определенных столбцов, получат сообщение об ошибке «отказано в разрешении на выбор для столбца xyz ...», и окно данных не будет получать никакой информации, а не получать только строки для столбцов есть привилегия "выбрать" для...

Кто-нибудь знает, как обрабатывать разрешения столбцов с помощью окна данных для подобных случаев?


person Etch Morrar    schedule 28.11.2010    source источник


Ответы (1)


Нет простого способа справиться с этим, что я видел.

Не уверен, ищете ли вы идеи или нет, но это зависит от того, сколько возможных вариантов существует и насколько динамичным вы хотите сделать решение.

Я никогда не работал в магазине, который использовал разрешения на уровне столбца на уровне СУБД, но предполагаю, что есть группы столбцов, заблокированных для различных ролей. Если бы было несколько (скажем, 3) вариантов, я бы, вероятно, просто сделал три версии объекта данных и заменил соответствующую перед извлечением.

В противном случае более сложным вариантом было бы динамическое изменение объекта данных перед извлечением либо по роли, либо каким-либо образом запрашивая системные таблицы.

Еще одна идея, которую я никогда не пробовал и не уверен, что она сработает, - это динамическое создание объекта данных из SQL, я считаю, что функция называется createfromsql, и просто используйте select * from xyz, но это было бы возможно, только если это только для отображения в противном случае у вас было бы много динамических модификаций, чтобы сделать объект данных обновляемым и установить все обновляемые столбцы.

Удачи.

person Rich Bianco    schedule 29.11.2010