Аутентификация Silverlight WCF (Справка при переходе от WPF к Silverlight) - PullRequest
2 голосов
/ 20 мая 2009

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

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

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

В Silverlight 2 на прокси нет объекта .ClientCredentials. Единственная найденная опция - добавить два строковых параметра в КАЖДЫЙ метод WCF Exposed для Uid / Pwd. Это звучит как безумие для меня, ДОЛЖЕН быть лучший путь, нет?

1 Ответ

4 голосов
/ 20 мая 2009

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

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

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

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

НТН

...