Сессии WCF или передать имя пользователя / пароль на вызов? - PullRequest
13 голосов
/ 27 октября 2008

Для службы WCF корпоративного типа, где потенциально 10 000 тысяч клиентов будут проходить проверку подлинности и отправлять данные на центральные серверы, какова «лучшая» практика в отношении сеансов или проверки подлинности?

  1. поддерживает ли WCF сеанс, если да, должен ли я его использовать? или я должен просто передать имя пользователя / пароль для каждого звонка?

Ответы [ 3 ]

12 голосов
/ 27 октября 2008

Как упоминалось blowdart , сеансы WCF не совпадают с сеансами ASP.NET. Вы можете прочитать о них здесь: http://msdn.microsoft.com/en-us/library/ms733040.aspx. Перед тем, как начать свою собственную безопасность, вы захотите ознакомиться с тем, что WCF дает вам из коробки: http://msdn.microsoft.com/en-us/library/ms734736.aspx. Они могут получить Вы близки к своей цели без написания большого количества кода. В частности, ознакомьтесь с Как: создать безопасный сеанс . В случае защищенных сеансов учетные данные клиента и сервера не требуют полной аутентификации при каждом запросе. По умолчанию вы потеряете безопасный сеанс, если веб-сервер перезапустится. Если вы хотите безопасный сеанс, который длится через цикл, вам нужно взглянуть на Как: создать токен контекста безопасности с сохранением состояния для безопасного сеанса .

1 голос
/ 27 октября 2008

WCF поддерживает сессии да; но они не как сеансы ASP.NET. Сессии предназначены для доставки сообщений в порядке (и других битах и ​​бобах), они не предназначены для добавления общего хранилища между вызовами.

Для авторизованных сервисных вызовов вы должны каждый раз присылать свои данные аутентификации; защита применяется для каждого сообщения.

0 голосов
/ 28 октября 2008

Если вы размещаете службу в IIS, вы все равно можете использовать сеанс из ASP.NET включив aspnet-совместимость для поведения службы.

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