Безопасность на уровне строк на SQL Server 2016 - PullRequest
0 голосов
/ 09 марта 2020

Я использую RLS на SQL Server Developer Edition 2017.

Когда я выполняю следующие действия, я получаю разные результаты: настроена защита на уровне строк и установлена ​​и протестирована политика c.

При попытке выполнить от имени пользователя = 'AppUser' GO EXE C sp_set_session_context @key = N'role ', @value =' CORP \ GrpGl Atlanta Georgia Dashboard 'SELECT * FROM MyCenter GO Это возвращает нет строк!

EXE C sp_set_session_context @key = N'role ', @value =' CORP \ GrpGl Athens Dashboard 'SELECT * FROM MyCenter GO Это возвращает ожидаемое Строка.

Оба входа в систему существуют на сервере и уровне данных RLS с одинаковыми разрешениями / ролями и т. Д. c. По сути, логин GrpGl Athens Dashboard был создан для создания логина GrpGl Atlanta Georgia Dashboard, поэтому все разрешения одинаковы.

Афины работают .... Атланта Джорджия не работает.

Есть ли проблема с @value = 'CORP \ GrpGl Atlanta Georgia Dashboard', имеющей слишком много пробелов / символов?

Я не могу найти в BOL ничего такого, что говорит об этом.

Есть ли ограничение на количество символов / пробелов @value в sp_set_session_context @key = N'role ', @value = 'CORP \ GrpGl Atlanta Georgia Dashboard'?

Thnaks

...