Поделиться через


Занятие 2. Создание атрибутов для защиты на уровне строк

Добавления: 14 апреля 2006 г.

Общий метод определения защиты на уровне строк заключается в использовании сведений об имени входа пользователя для выяснения, какие строки будут выводиться. В этом задании в сущности Employee создается атрибут, фильтрующий данные на основе имени входа пользователя. Создается фильтр, который затем изменяется как формула, использующая функцию GetUserID.

ms365342.note(ru-ru,SQL.90).gifПримечание.
Этот урок предполагает, что на компьютере открыта среда Business Intelligence Development Studio и в ее окне отображается модель отчета.

Создание атрибута фильтрации, который изменяется как формула

  1. В древовидном представлении выберите сущность Employee.

    Атрибуты сущности Employee выводятся в представлении списка.

  2. Щелкните правой кнопкой мыши сущность Employee, установите указатель на пункте Создать и выберите Фильтр.

    Откроется диалоговое окно «Фильтрация данных».

  3. В списке Поля дважды щелкните Login ID2.

    К фильтру добавляется условие фильтра, использующее поле «Login ID2», которое было создано на занятии 1.

  4. В фильтре щелкните правой кнопкой мыши Login ID2 и выберите Изменить как формулу.

    Откроется диалоговое окно «Определение формулы», в котором отображается формула Login ID2=Empty.

  5. В поле Формула выберите слово Empty.

  6. Перейдите на вкладку Функции и разверните узел Сведения.

  7. Дважды щелкните функцию GetUserID.

    Empty заменяется на GetUserID().

  8. Нажмите кнопку ОК.

    Диалоговое окно «Определение формулы» закроется, и в предложении фильтра будет выведено Login ID2=GetUserID.

  9. Нажмите кнопку ОК снова.

    Диалоговое окно «Данные фильтра» закроется, и в представлении списка будет выведен атрибут NewFilter. Далее предстоит переименовать этот атрибут.

Переименования атрибута

  1. В представлении списка щелкните правой кнопкой мыши атрибут NewFilter и выберите Переименовать.

  2. Введите UserIDFilter.

    Далее предстоит назначить атрибуту нужные свойства.

Изменение свойств атрибута

  1. В представлении списка выберите атрибут UserIDFilter.

  2. В окне «Свойства» найдите свойство IsFilter.

  3. Убедитесь, что значение IsFilter равно True.

  4. Найдите свойство Hidden.

  5. Нажмите кнопку со стрелкой раскрывающегося списка Hidden и выберите True.

    Изменение свойства Hidden на True не дает возможности пользователям модели видеть этот атрибут, когда они создают отчет с помощью этой модели. Поскольку этот атрибут используется как фильтр для присвоения безопасности, большинству пользователей не обязательно его видеть при создании собственных отчетов.

  6. В представлении списка выберите атрибут Login ID2.

  7. В окне Свойства найдите свойство Nullable.

    Поскольку у атрибута Login ID2 свойство Nullable имеет значение True, атрибут UserIDFilter также должен иметь значение свойства Nullable, равное True. Но если это свойство используется как фильтр безопасности, оно не является обязательным.

  8. Нажмите кнопку со стрелкой раскрывающегося списка Nullable и выберите True.

Присвоение атрибута коллекции фильтров безопасности

  1. В древовидном представлении выберите сущность Employee.

  2. В окне «Свойства» найдите свойство SecurityFilters.

  3. Выберите свойство SecurityFilters и нажмите кнопку с многоточием ().

    Откроется диалоговое окно «Изменение коллекции ссылок атрибута».

  4. Нажмите кнопку Добавить.

  5. Откроется диалоговое окно «Атрибуты фильтра безопасности».

  6. Убедитесь, что в списке Сущности выбрана сущность Employee.

  7. В списке Поля выберите атрибут UserIDFilter.

  8. Нажмите кнопку ОК, а затем нажмите кнопку ОК еще раз.

    Далее сохраняются изменения моделей, а затем выполняется повторное развертывание модели на сервере отчетов.

Сохранение и развертывание модели отчета

  1. В меню Файл выберите команду Сохранить все.

  2. В обозревателе решений щелкните правой кнопкой мыши проект Adventure Works Model и выберите команду Развернуть.

    Модель будет развернута на сервере отчетов.

    ms365342.note(ru-ru,SQL.90).gifВажно!
    Чтобы убедиться, что модель успешно развернута, можно просмотреть вкладку «Список ошибок». При возникновении ошибки необходимо устранить проблему перед продолжением работы.

Следующие шаги

Был успешно создан атрибут, после чего он был назначен коллекции SecurityFilters. Далее необходимо включить безопасность элемента модели отчета в среде SQL Server Management Studio. См. раздел Занятие 3. Включение защиты на уровне строк в среде Management Studio.

См. также

Другие ресурсы

Работа с конструктором моделей
Объект DefaultSecurityFilter (конструктор моделей)
Коллекция SecurityFilters
Работа с сущностями конструктора моделей
Работа с ролями, исходными полями и выражениями
Публикация модели отчета
GETUSERID (построитель отчетов)

Справка и поддержка

Получение помощи по SQL Server 2005