Как аутентифицировать и авторизовать каждый вызов WCF? - PullRequest
8 голосов
/ 17 февраля 2011

У меня клиент WPF, использующий службу WCF, размещенную в IIS.Для аутентификации я имею в виду либо сертификат, либо аутентификацию по имени пользователя.Клиент вызывает пару методов в WCF и передает некоторое сообщение.

  1. Для каждого вызова, который приходит в WCF, я хочу аутентифицировать пользователя.
  2. Чтобы поместить сообщение в базу данных, я должен знать, кто является вызывающим абонентом, каково его имя пользователя инесколько других свойств о пользователе.Как передать эту информацию [может быть маленький объект] на каждый звонок?

1 Ответ

10 голосов
/ 17 февраля 2011

Это рекомендуемое поведение по умолчанию - каждый вызов службы WCF получает новый экземпляр службы, а каждый вызов проходит проверку подлинности и авторизацию.

Просто убедитесь, что вы не включили такие вещи, как режим сеанса в WCF, и не идите по пути одиночного WCF.

Просто сохраняйте регулярную стандартную услугу WCF для каждого звонка - никаких проблем.

Если вы находитесь в корпоративной локальной сети, вы также можете подумать об использовании учетных данных Windows для аутентификации (которая используется по умолчанию для wsHttpBinding и netTcpBinding).

Существует действительно обширное Руководство по безопасности WCF , в котором есть тонны примеров и инструкции по настройке определенных сценариев безопасности WCF.

Я бы также порекомендовал вам проверить Основы безопасности WCF , чтобы познакомиться с WCF и его механизмами безопасности.

Несколько более продвинутой является идея Объявить безопасность WCF , в которой Юваль Лоуи представляет пять сценариев безопасности (это очень достойное чтение!) И инкапсулирует их в атрибуты безопасности, которые будут применяться к вашему контракту на обслуживание с). * * тысяча двадцать-один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...