Общие сведения о расширениях безопасности

Расширение безопасности служб Reporting Services обеспечивает проверку подлинности и авторизацию пользователей или групп; т. е. позволяет разным пользователям входить на сервер отчетов и, в зависимости от удостоверений, выполнять различные задачи или операции. По умолчанию службы Reporting Services используют расширение проверки подлинности на основе Windows, которое использует протоколы учетных записей Windows для проверки удостоверений пользователей, которые утверждают, что в системе есть учетные записи. Службы Reporting Services используют систему безопасности на основе ролей для авторизации пользователей. Модель безопасности на основе ролей служб Reporting Services аналогична моделям безопасности на основе ролей других технологий.

Так как расширения безопасности основаны на открытом и расширяемом API, вы можете создавать новые расширения проверки подлинности и авторизации в службах Reporting Services. Ниже приведен пример типичной реализации расширения безопасности, использующего проверку подлинности и авторизацию на основе форм:

Процесс расширения безопасности служб

Как показано на рисунке, проверка подлинности и авторизация выполняются следующим образом:

  1. Пользователь пытается получить доступ к диспетчеру отчетов с помощью URL-адреса и перенаправляется в форму, которая собирает учетные данные пользователя для клиентского приложения.

  2. Пользователь отправляет учетные данные в форму.

  3. Учетные данные пользователя отправляются в веб-службу служб Reporting Services с помощью LogonUser метода.

  4. Веб-служба вызывает предоставленное клиентом расширение безопасности и проверяет, существует ли имя пользователя и пароль в пользовательском органе безопасности.

  5. После проверки подлинности веб-служба создает билет проверки подлинности (известный как файл cookie), управляет билетом и проверяет роль пользователя для домашней страницы диспетчера отчетов.

  6. Веб-служба возвращает файл cookie в браузер и отображает соответствующий пользовательский интерфейс в диспетчере отчетов.

  7. После проверки подлинности пользователя браузер отправляет запросы диспетчеру отчетов при передаче файла cookie в заголовке HTTP. Эти запросы отвечают на действия пользователей в приложении диспетчера отчетов.

  8. Файл cookie передается в заголовке HTTP в веб-службу вместе с запрошенной операцией пользователя.

  9. Файл cookie проверяется, и если он действителен, сервер отчетов возвращает дескриптор безопасности и другие сведения, связанные с запрошенной операцией из базы данных сервера отчетов.

  10. Если файл cookie действителен, сервер отчетов вызывает расширение безопасности, чтобы проверить, разрешен ли пользователь выполнять определенную операцию.

  11. Если пользователь авторизован, сервер отчетов выполняет запрошенную операцию и возвращает контроль вызывающей объекту.

  12. После проверки подлинности пользователя URL-адрес сервера отчетов использует тот же файл cookie. Файл cookie передается в заголовке HTTP.

  13. Пользователь продолжает запрашивать операции на сервере отчетов до завершения сеанса.

Когда следует реализовать расширение безопасности

Рекомендуется использовать проверку подлинности Windows, если это возможно. Однако в следующих двух случаях может потребоваться настраиваемая проверка подлинности и авторизация для служб Reporting Services:

  • У вас есть приложение Интернета или экстрасети, которое не может использовать учетные записи Windows.

  • У вас есть пользовательские пользователи и роли и необходимо предоставить соответствующую схему авторизации в службах Reporting Services.

См. также

Реализация расширения безопасностинастройка диспетчера отчетов для передачи пользовательских файлов cookie проверки подлинности