2009-05-19 3 views
2

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

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

и потому, что я использую HTTPS UID,/PWD является безопасным.

В Silverlight 2 на прокси-сервере отсутствует объект .ClientCredentials. Единственный вариант, который я нашел, - добавить два строковых параметра в любой метод WCF Exposed для Uid/Pwd. Это звучит как безумие для меня, должно быть, лучше, нет?

+0

У меня есть такая же проблема ... – Calanus

ответ

4

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

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

- NB TransportSecurityWithMessageCredentials я упоминаю ниже, похоже, не делают разрез для SL3 так только варианты являются 2 выше для обоих SL2 и SL3

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

HTH

+0

У вас есть ссылка на использование аутентификации asp.net через silverlight 2? Предоставляет ли транспорт SecurityWithmessageCredentials примерно то же, что и ClientCredentials в WPF? – Nate

+1

Для режима совместимости asp.net по существу все, что вам нужно сделать, это украсить ваши классы wcf с помощью [AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] Затем вы получаете доступ к HttpContext, что означает, что вы можете получить доступ к свойствам пользователя, заполненным asp. нетто-членства. Полезная ссылка Я нашел это http://blogs.msdn.com/brada/archive/2008/05/03/accessing-the-asp-net-authentication-profile-and-role-service-in-silverlight.aspx Не могу прокомментировать сходство для TransportSecurityWithMessageCredentials, так как у вас еще не было возможности поиграть с ним. HTH –

 Смежные вопросы

  • Нет связанных вопросов^_^