Проверка подлинности на основе токенов в WCF

Я создаю веб-сайт, который будет содержать как страницы ASP.NET, так и апплет Flash. Я хочу инкапсулировать свою бизнес-логику в службу WCF, которая будет доступна через две конечные точки: одну, доступную через Интернет через HTTP (S), для использования клиентом Flash, и одну, доступную в центре обработки данных для использования серверами приложений. , Если это не похоже на хороший подход, остановите меня здесь; в противном случае ябуду двигаться дальше ...

Вопрос в том, как аутентифицировать запросы, поступающие от клиента Flash. Так как я нене хочу хранить пользователяпароль в куки-файле браузера, нене хочу отправлять пароль при каждом запросе, и неЯ не хочу использовать HTTPS после первого входа в систему, я планирую использовать систему аутентификации на основе токенов. Я тоже неЯ не хочу, чтобы пользователю приходилось входить в клиент Flash после того, как он уже вошел на сам сайт, поэтому я планирую использовать Javascript для передачи токена клиенту Flash при его запуске.

Я знаю, что WCF поддерживает использование .NET FrameworkВстроенная структура безопасности (System.Security) для обеспечения контроля доступа, и я хотел бы воспользоваться этим.

Тогда возникает вопрос:Как передать токен службе WCF, когда он вызывается Flash, и как мне обработать токен на сервере?

WCF имеет "выдан токен режим аутентификации, но, похоже, он предназначен для использования в полномасштабном сценарии федерации с Secure Token Service и токенами SAML - немного сложнее, чем я действительно хочу. Можно использовать этот режим со своим "простая случайная строка жетоны? Если так, то как? Имейте в виду, что это должно быть совместимо с Flash.Я мог бы передать токен в заголовке (заголовок SOAP или заголовок HTTP). В этом случае, когда яЯ определил, какой пользователь делает запрос, как мне сообщить об этом структуре, чтобы проверки System.Security работали?Есть ли другой подход, который я должен рассмотреть? Все, что позволяет избежать отправки паролей при каждом запросе, позволяет мне использовать System.Security и работает с Flash, вполне возможно.

Ответы на вопрос(1)

Ваш ответ на вопрос