Уважаемые слушатели! Обращаем ваше внимание, что 01.05.2024 и 09.05.2024 у нас выходные дни. Вы можете оставить сообщение в чате, мы обязательно ответим!
Уважаемые слушатели! Теперь для вас работает номер технической поддержки 8 (800) 444-28-35 с 9:00 до 21:00

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Как отлаживать код, использующий привязку к текущему пользователю

Самородов Федор Анатольевич: Как отлаживать код, использующий привязку к текущему пользователю

СФА

В реляционной базе данных нельзя назначать права на строки. Поэтому, для защиты отдельных строк часто используют представление (VIEW) с привязкой к идентификатору текущего пользователя. Это, пожалуй, самый распространённый, но далеко не единственный сценарий использования в коде обращений к текущему контексту безопасности.

Как отлаживать такой код? Можно открыть несколько соединений с сервером от имени разных пользователей и смотреть на результаты одного и того же запроса в разных окнах. Но если это приходится делать по многу раз, переключение между соединениями начинает утомлять и отвлекать.

Альтернативный вариант — создайте для пользователя свой собственный связанный сервер (Linked Server), который ссылается сам на себя. Вот так:

Создаём связанный сервер, ссылающийся на себя самого.

Вход на сервер всегда будет осуществляться от имени указанного пользователя.

Теперь можно смотреть на данные глазами разных пользователей из одного окна:

Смотрим на данные через связанный сервер.

Описанный приём — не единственный. На наших курсах вы узнаете, как полноценно управлять контекстом безопасности и при необходимости подменять идентификатор текущего пользователя прямо в процессе исполнения кода.

Ближайшие группы

envelope

Спасибо! Вам на e-mail отправлено письмо со ссылкой для подтверждения

Если письмо не пришло, поищите его в папке со спамом или повторите подписку

email-checked.png

Вы подписались на рассылку

Как будет оформлено обучение?

Оплачивать будет:

Спасибо за обращение! Ваш менеджер свяжется с Вами в течение нескольких минут.