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

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

Вопрос в том, как аутентифицировать запросы, поступающие от клиента Flash. Поскольку я не хочу хранить пароль пользователя в файле cookie браузера, не хочу отправлять пароль при каждом запросе и не хочу использовать 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)

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