REST WCF Аутентификация - PullRequest
       2

REST WCF Аутентификация

3 голосов
/ 29 августа 2010

Я создаю автономный сервис WCF, который предоставляет 2 конечных точки для каждого сервиса

  1. SOAP
  2. REST

SOAP использует аутентификацию WS- * SOAP (заголовок аутентификации). Как я могу реализовать аутентификацию REST?

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

спасибо.

Ответы [ 3 ]

4 голосов
/ 29 августа 2010

Запросы в системе RESTful не имеют состояния, и поэтому вы должны проходить повторную проверку подлинности при каждом запросе.

Я предлагаю вам использовать базовую аутентификацию HTTP, и если этого недостаточно для вашего сценария, возможно, вы можете выполнить базовую аутентификацию HTTP через HTTPS.

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

Хорошо, посмотрев вокруг, я нашел ответ, я передаю специальный заголовок аутентификации, похожий на Amazon S3.

его не так просто построить, но он позволит мне работать без SSL ибудет без гражданства и поддержит всех клиентов.

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

Один из способов сделать это - использовать Generic, который станет вашей оболочкой ответа, и вспомогательную функцию для проверки аутентификации следующим образом:

[DataContract]
public sealed class AuthenticatedRequest<T> {
    [DataMember(Order=0)]
    public string SessionToken {get; set;}

    [DataMember(Order=1)]
    public T RequestBody {get; set; }

    public static bool IsAuthenticated () {
        . . .
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...