Аутентификация Silverlight WCF (Справка о переходе с WPF на Silverlight)

StackOverflow https://stackoverflow.com/questions/885326

Вопрос

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

proxy.ClientCredentials.UserName.UserName = "test";
proxy.ClientCredentials.UserName.Password = "pass";

и поскольку я использую HTTPS, uid / pwd безопасен.

В Silverlight 2 такого нет .Объект ClientCredentials на прокси-сервере.Единственный вариант, который я нашел, - это добавить два строковых параметра к КАЖДОМУ предоставляемому WCF методу для Uid / Pwd.По-моему, это звучит как безумие, должен же быть способ получше, не так ли?

Это было полезно?

Решение

К сожалению, Silverlight 2 поддерживает только базовую привязку HttpBinding, что означает, что он не поддерживает ClientCredentials.

У вас есть 2 варианта::1.Как вы упомянули, передавая имя пользователя и пароль при каждом запросе.2.используя asp.net аутентификацию и включите asp.net режим совместимости в ваших сервисах.

-- N.B TransportSecurityWithMessageCredentials, о которых я упоминаю ниже, похоже, не подходит для SL3, поэтому единственными вариантами являются 2 выше для SL2 и SL3

Silverlight 3 улучшает эту историю с помощью TransportSecurityWithMessageCredentials, и вы можете узнать больше об этом в блоге Silverlight Web Services Team (дал бы ссылку на него, но, видимо, поскольку я новый пользователь, мне не разрешено 0

HTH

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top