Как службы WCF RIA обрабатывают аутентификацию / авторизацию / безопасность? - PullRequest
0 голосов
/ 16 марта 2010

Поскольку никто не ответил на этот вопрос:

Какие проблемы следует учитывать при развертывании собственной базы данных для Silverlight / AJAX на сервере, отличном от ASP.NET?

Позвольте мне спросить это по-другому:

Как службы WCF RIA обрабатывают аутентификацию / авторизацию / безопасность на низком уровне?

  • например. как приложение на сервере определяет, что входящий http-запрос на изменение данных поступает от действительного клиента , а не из нежелательного источника, например, бот отказа в обслуживании?

1 Ответ

1 голос
/ 31 августа 2010

Согласно моему исследованию, все вызовы в классы обслуживания RIA выполняются с помощью пользовательского класса IOperationInvoker (принудительного применения пользовательского класса IOperationBehavior). Этот вызывающий оператор вызывает DomainService для выполнения операции.

Перед выполнением вызова метода проверяется любой / все атрибуты AuthorizationAttribute, отмеченные в рассматриваемой операции. Каждому атрибуту AuthorizationAttribute (два из которых являются RequAuthenticationAttribute и requireRoleAttribute) предоставляется возможность принять или отклонить вызов с помощью абстрактного метода IsAuthorized.

Если какой-либо из этих атрибутов возвращает что-то кроме «AuthorizationResult.Allowed», генерируется исключение UnauthorizedAccessException с сообщением ErrorMessage из возвращенного AuthorizationResult.

...