Обработка привилегий столбца базы данных в окнах данных - PullRequest
1 голос
/ 28 ноября 2010

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

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

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

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

1 Ответ

1 голос
/ 29 ноября 2010

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

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

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

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

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

Удачи.

...