Creatio development guide
PDF
Это документация Creatio версии 7.14.0. Мы рекомендуем использовать новую версию документации.

Аутентификация внешних запросов к веб-сервисам bpm'online

Glossary Item Box

Общие положения

Важной частью многих веб-приложений является возможность идентифицировать пользователей и контролировать их доступ к ресурсам приложения. Аутентификация — это процесс подтверждения личности пользователя. Для аутентификации пользователь должен предоставить доказательства, удостоверяющие, что это действительно он. Обычно это учетные данные — имя пользователя и пароль.

Все внешние запросы к веб-сервисам bpm'online должны быть аутентифицированы. В bpm'online поддерживаются следующие виды аутентификации внешних запросов:

  • Анонимная аутентификация (Anonymous).
  • Базовая аутентификация (Basic-аутентификация).
  • Аутентификация на основе Cookies (Forms-аутентификация).

ВАЖНО

Если в приложении, которое интегрируется с bpm'online, нужно использовать Basic-аутентификацию, то необходимо отключить защиту от CSRF-атак.

Основные преимущества и недостатки видов аутентификации при интеграции с bpm'online приведены в таблице 1.

Табл. 1. — Сравнение видов аутентификации внешних запросов

Вид аутентификации Преимущества Недостатки Использование
Anonymous

Наилучшая производительность.

Не требует управления учетными записями.

Не идентифицирует индивидуальных пользователей. Доступ к публичным ресурсам bpm'online — страница логина, логотип, некоторые веб-сервисы.
Basic

Широкое распространение.

Работает с прокси-серверами.

Идентифицирует индивидуальных пользователей.

Небезопасен без SSL/TLS. Только доступ к сервису EntityDataService.svc (OData).
Forms (Cookies)

Дополнительные атрибуты учетных данных.

Идентифицирует индивидуальных пользователей.

Небезопасен без SSL/TLS Большинство ресурсов и веб-сервисов bpm'online

Подробнее каждый из видов аутентификации рассмотрен ниже.

Анонимная аутентификация

Анонимная аутентификация предоставляет пользователю доступ ко всем публичным частям веб-приложения без подтверждения учетных данных. Технически аутентификация не выполняется, поскольку пользователю не нужно предоставлять ни имя пользователя, ни пароль. Вместо этого IIS предоставляет Windows предварительно сохраненные учетные данные для специального пользователя.

Анонимная аутентификация выполняется на уровне IIS и включена по умолчанию. При ее использовании IIS не требует никаких других схем аутентификации при условии предоставления соответствующих NTFS-прав для ресурса.

Преимущества

  • Предоставляет наилучшую производительность.
  • Не требует управления учетными записями пользователей.

Недостатки

  • Не идентифицирует пользователей на индивидуальной основе.

Использование

В bpm'online используется для доступа к ресурсам, которые должны быть предоставлены пользователю без аутентификации. Например, страница логина, логотип сайта, некоторые веб-сервисы (например, AuthService.svc, UserService.svc и др.).

Basic-аутентификация

Базовая аутентификация является частью спецификации HTTP. Это стандартный способ аутентификации с помощью HTTP-заголовков. Учетные данные пользователя (имя пользователя и пароль) добавляются в заголовок запроса к сервису в кодировке Base64. Базовая аутентификация также выполняется на уровне IIS.

ВАЖНО

Basic-аутентификация является небезопасным способом аутентификации, так как данные передаются практически в открытом виде. Поэтому использовать этот способ можно только при взаимодействии с системой по протоколу SSL (HTTPS).

Для обеспечения безопасности при передаче учетных данных рекомендуется выполнять аутентификацию внешних запросов к bpm'online посредством AuthService.svc.

ВАЖНО

Если в приложении, которое интегрируется с bpm'online, нужно использовать Basic-аутентификацию, то необходимо отключить защиту от CSRF-атак.

Преимущества

  • Широко распространенный вид аутентификации, поскольку является частью спецификации HTTP 1.0.
  • Может выполнять аутентификацию через прокси-серверы.
  • Идентифицирует пользователей на индивидуальной основе.

Недостатки

  • Небезопасен без использования SSL/TLS.

Использование

ВАЖНО

С помощью Basic-аутентификации можно выполнить аутентификацию пользователей только в сервисе EntityDataService.svc, который предоставляет возможность интеграции с bpm'online по протоколу OData. Для всех остальных внешних запросов рекомендуется использовать сервис AuthService.svc и соответствующие Cookies.

Forms-аутентификация (Cookies)

ASP.NET реализует дополнительные виды аутентификации, которые выполняются только после выполнения аутентификации на уровне IIS (как правило, анонимной).

Один из дополнительных видов аутентификации, реализованных в ASP.NET— это Forms-аутентификация (также известная как Cookie-аутентификация).

Провайдер Forms-аутентификации предоставляет возможность получать учетные данные, отправляемые POST-запросом (например, используя HTML-форму или AJAX). Пользователь предоставляет имя пользователя и пароль для аутентификации непосредственно веб-приложению. После успешной аутентификации приложение предоставляет пользователю специальные cookies, которые пользователь должен добавить в последующие запросы. Если запрос к защищенному ресурсу не содержит cookies, то приложение перенаправляет пользователя к странице логина. Подробно процесс прохождения Forms-аутентификации рассмотрен здесь.

Для Forms-аутентификации в bpm'online предназначен веб-сервис AuthService.svc.

Преимущества

  • Forms-аутентификация позволяет использовать кроме логина и пароля другие атрибуты учетных данных, например, email-адрес.
  • Идентифицирует пользователей на индивидуальной основе.

Недостатки

  • Может быть предметом атак по времени жизни cookies, если не используется SSL/TLS.

Использование

Используется для доступа к большинству страниц, ресурсов и сервисов bpm'online.

ВАЖНО

Начиная с версии 7.10 в bpm'online реализована защита от CSRF-атак. В связи с этим необходимо внести дополнительные изменения в процесс интеграции с bpm'online c использованием DataService или OData (см. "Защита от CSRF-атак при интеграции c bpm'online").

 

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?