WCF, как передать маркер для аутентификации?

У меня есть сервис WCF, который хотел бы поддерживать basicHttpBinding и webHttpBinding. Когда клиент успешно войдет в систему, сервер генерирует маркер для клиента для передачи серверу по всему запросу, делают позже. Вопрос состоит в том, как клиент может передать маркер серверу? Я не хочу добавлять дополнительный параметр на каждом веб-методе для содержания маркера.

15
задан Kevin 9 April 2010 в 04:46
поделиться

1 ответ

Как правило, лучший способ сделать что-то подобное - передать такая «метаинформация» в заголовке WCF.Вы можете легко создать инспектор сообщений для расширения WCF (это действительно не так страшно и сложно!), Который будет вставлять токен в каждый исходящий запрос от клиента, извлекать его из заголовка и проверять его на стороне сервера.

В блоге есть несколько довольно хороших сообщений, показывающих, как создать инспектор сообщений:

Проверьте два соответствующих интерфейса для реализации:

  • IClientMessageInspector на стороне клиента, который имеет сообщение BeforeSendRequest и AfterReceiveReply для реализации
  • ] IDispatchMessageInspector на стороне сервера, который имеет метод AfterReceiveRequest и BeforeSendReply для реализации
18
ответ дан 1 December 2019 в 04:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: