powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с защитой данных
2 сообщений из 2, страница 1 из 1
Помогите с защитой данных
    #32019182
Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.
Вопрос таков как реализовать доступ к данным из одной таблицы пользователям к данным по своему ID_USER.
Сейчас это так выглядит Права SELECT у таблицы забраны, Создан Viev к таблице в котором данные отбираются по ID_USER=(select id from access where idsys=suser_id()), А на INSERT, UPDATE и DELETE повешен триггер который нормализует id_user. Уважаемое ALL подскажите какой-нибудь иной красивый метод
...
Рейтинг: 0 / 0
Помогите с защитой данных
    #32019526
blovic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть ID_USER присутствует как поле в проблемной таблице (назовем ее table), так?
=> достум к записи через VIEW имеет только 1 юзер?
1. Не советую использовать suser_id() - добавишь новый логин и suid всех логинов, имена которых ниже по алфавиту сдвинутся
2. user_id() в базе тоже может меняется при backup/restore, переброске на другой сервер
3. Ну а другой метод - просто со вспомогательной таблицей
create table access (table_id int (FK), UName varchar,
canInsert boolean, canDelete boolean, canUpdate boolean)

create view v_table as
select * from table
where exists (select table_id from access where UName = user_name() and table.table_id = access.table_id)
В этом случае запись может быть доступна различным юзерам, а конкретные их права чекваться в тригере по canXXX
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с защитой данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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