|
|
|
Помогите с распределением доступа
|
|||
|---|---|---|---|
|
#18+
Народ тут у меня возникли проблемы. Если не трудно подскажите что-нибудь. У меня есть таблица Personal, в которой хранятся данные о персонале различных передприятий. Основные поля в ней это табельный номер работника и код предприятия в котором он работает. У меня возникла следующая задача. Отдел кадров предприятий должны добавлять изменять и удалять работников в этой таблице. ПРИ ЭТОТ ОНИ НЕ ДОЛЖНЫ ИМЕТЬ ВОЗМОЖНОСТЬ УВИДЕТЬ, ИЗМЕНИТЬ ИЛИ УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ ЧУЖОГО ПРЕДПРИЯТИЯ. Кто-то мне порекомендовали использовать представление (view), который бы отфильтровывал "чужие" записи и выдавал только "свои". И запретить удаление, добавление и изменение у таблицы и разрешить эти действия у предсталвения. Тогда всю работу с таблицей нужно делать через это представление. Я это все проделал и получил следующие результаты. При использовании query analizer мне удается получить данные, их изменить и добавить. Но как только я пытаюсь сделать это в Enterprise Manager (войти под неким пользователем, который имеет права на изменение, добавления и удаления через представление), то при попытки добавить или изменит запись получаю сообщения, что не имею надлежащих прав для изменения таблицы. Правильно, я и не имею их. Но я обращаюсь же через представление, а на представление у меня вся права открыты) Аналогичный результат я получаю, когда открываю представление в какой-либо "сетки" (VB) в прикладной программе. Не удается ни удалить, ни добавить, ни изменить. Т.е. при непосредственном выдаче команды insert into View values.. все срабатывает, а при Адошных .AddNew.....Update - ОШИБКА. Может быть подскажете что-нибудь по этому поводу. Либо дадите совет: как мне решить задачу разделения доступа другим путем. Заранее благодарен за ответы. С Уважением, Ожерельев Максим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 21:26:13 |
|
||
|
Помогите с распределением доступа
|
|||
|---|---|---|---|
|
#18+
Некоторые клиентские приложения настолько, скажем проницательны, что при работе с представлениями "понимают", что имеют дело с фиктивным по сути объектом. И поэтому "переадресуют" запросы на добавление/изменение данных непосредственно к таблице(ам), на основе которой построено представление. Для того, чтобы внешние приложения воспринимали представление как "нормальную" таблицы(вернее, чтобы сервер выдавал его за таковую), представление должно быть создано с опцией WITH VIEW_METADATA, т.е. CREATE VIEW myview WITH VIEW_METADATA AS ... ЗЫ А подход к разделению прав доступа с помощью представления у ва IMHO для данной задачи правильный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 21:55:42 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3428&tid=1820833]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 352ms |

| 0 / 0 |
