Я думаю, у вас есть несколько вариантов.Поскольку все это REST-запросы, клиент на самом деле не имеет большого значения (за исключением того, что он исключает любые специфичные для Windows интегрированные компоненты).:)
Я создал несколько прототипов, в которых у меня есть зашифрованный токен в заголовке запроса, который я извлекаю в обработчике события OnStartProcessingRequest.У вас есть доступ к HttpContext.Current
, поэтому вы можете просто получить заголовок запроса, проверить его по вашему хранилищу токенов, а затем либо разрешить выполнение запроса, либо нет.Клиент, будь то Java, C #, JavaScript или что-то еще, будет отвечать за создание токена и добавление его в заголовки ваших запросов.
В прошлом году команда служб данных WCF выпустила серию сообщений в блогах, отвечая нанекоторая критика сообщества, что службы данных WCF не были настолько безопасными.Они перечислили несколько различных сценариев защиты ваших служб данных WCF.В частности, две записи, которые, на мой взгляд, подходят для вашей ситуации, таковы:
OData и аутентификация - часть 4 - зацепки на стороне сервера
OData и аутентификация -Часть 5 - Пользовательские HttpModules
Вы можете найти все блоги в серии здесь .
Я думаю, что эти две ссылки полезны, потому что они все о сервере-боковая конфигурация.Поддержка OData также содержится в расширении RESTlet , но, будучи парнем .NET, я не могу дать вам гораздо больше информации, чем это.:)
Надеюсь, это поможет.Удачи!