powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с распределением доступа
3 сообщений из 3, страница 1 из 1
Помогите с распределением доступа
    #32045980
Народ тут у меня возникли проблемы.
Если не трудно подскажите что-нибудь.

У меня есть таблица Personal, в которой
хранятся данные о персонале различных передприятий.
Основные поля в ней это табельный номер работника
и код предприятия в котором он работает.

У меня возникла следующая задача.

Отдел кадров предприятий должны добавлять изменять
и удалять работников в этой таблице.
ПРИ ЭТОТ ОНИ НЕ ДОЛЖНЫ ИМЕТЬ ВОЗМОЖНОСТЬ
УВИДЕТЬ, ИЗМЕНИТЬ ИЛИ УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ
ЧУЖОГО ПРЕДПРИЯТИЯ.

Кто-то мне порекомендовали использовать
представление (view), который бы
отфильтровывал "чужие" записи и
выдавал только "свои". И запретить
удаление, добавление и изменение у таблицы
и разрешить эти действия у предсталвения.
Тогда всю работу с таблицей нужно делать
через это представление.

Я это все проделал и получил следующие результаты.

При использовании query analizer мне удается получить
данные, их изменить и добавить.

Но как только я пытаюсь сделать это в Enterprise Manager
(войти под неким пользователем, который имеет права на
изменение, добавления и удаления через представление), то при попытки
добавить или изменит запись получаю сообщения, что
не имею надлежащих прав для изменения таблицы.
Правильно, я и не имею их. Но я обращаюсь же через представление,
а на представление у меня вся права открыты)
Аналогичный результат я получаю, когда открываю
представление в какой-либо "сетки" (VB) в прикладной программе. Не удается
ни удалить, ни добавить, ни изменить.

Т.е. при непосредственном выдаче команды insert into View values..
все срабатывает, а при Адошных .AddNew.....Update - ОШИБКА.

Может быть подскажете что-нибудь по этому поводу. Либо
дадите совет: как мне решить задачу разделения доступа
другим путем.

Заранее благодарен за ответы.

С Уважением,
Ожерельев Максим.
...
Рейтинг: 0 / 0
Помогите с распределением доступа
    #32045982
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторые клиентские приложения настолько, скажем проницательны, что при работе с представлениями "понимают", что имеют дело с фиктивным по сути объектом. И поэтому "переадресуют" запросы на добавление/изменение данных непосредственно к таблице(ам), на основе которой построено представление.
Для того, чтобы внешние приложения воспринимали представление как "нормальную" таблицы(вернее, чтобы сервер выдавал его за таковую), представление должно быть создано с опцией WITH VIEW_METADATA, т.е.

CREATE VIEW myview WITH VIEW_METADATA AS ...

ЗЫ
А подход к разделению прав доступа с помощью представления у ва IMHO для данной задачи правильный
...
Рейтинг: 0 / 0
Помогите с распределением доступа
    #32046028
Alexandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще как вариант - использовать хранимую процедуру, в которую одним из параметров будет передаваться код предприятия.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с распределением доступа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]