Silverlight 4 - интеграция MVC 2 ASP.NET для членства «единый вход» - PullRequest
2 голосов
/ 10 июня 2010

Сценарий:

  1. У меня есть сайт ASP.NET MVC 2, использующий проверку подлинности на основе форм ASP.NET.

  2. На сайте имеется приложение Silverlight 4, которое необходимо для безопасного вызова внутренних веб-служб.

  3. Веб-службы также должны быть публично доступны для стороннего аутентифицированного доступа.

Проблемы:

  1. Безопасный доступ к веб-сервисам из Silverlight с использованием идентификатора текущего пользователя без необходимости повторного входа пользователя в приложение Silverlight.

  2. Предоставление сторонним приложениям безопасного доступа кте же веб-сервисы, что и учетные данные тех же пользователей, в идеале без использования ASP.NET Forms Authentication.

Дополнительные сведения и ограничения:

  1. Это приложение размещенов Azure.

  2. Мы бы предпочли НЕ использовать службы RIA, если это вообще возможно.

Решения на рассмотрении:

  1. Я думаю, что если веб-сервисы являются частью того же сайта MVC, на котором размещено приложение Silverlight, то аутентификация с помощью форм, вероятно, должна "просто работать" из Silverlight, основываясь на пользователях дляms auth cookies.Но, похоже, это исключает возможность отдельного размещения веб-сервисов (что желательно в нашем сценарии).

  2. Для стороннего доступа к веб-сервисам, я предполагаю, что отдельные конечные точкис другим решением аутентификации, вероятно, правильный ответ, но я бы предпочел поддерживать только одну версию служб, если это возможно ...

Вопросы:

  1. Кто-нибудь может указать мне на примеры приложений, которые реализуют что-то подобное?

  2. Как бы вы порекомендовали реализовать это решение?

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Я бы порекомендовал использовать STS с Windows Identity Foundation, чтобы ваше приложение могло использовать идентификацию утверждений, а затем изменить аутентификацию вне приложения. Для третьих лиц вы можете использовать Windows Azure Access Control Service (ACS). Мы обновляем наше руководство по этому вопросу, и вы можете посмотреть новый код, чтобы показать вам, как это сделать, на нашем сайте codeplex . Оригинальная книга доступна на Amazon . Я хотел бы сосредоточиться на обновленном руководстве, потому что у него есть веб-сайты ACS и активный клиент, разговаривающий с WCF. Клиент - WPF, но он похож на Silverlight.

0 голосов
/ 25 февраля 2011

Вы можете расширить WCF, чтобы использовать членство в качестве хранилища аутентификации и повторно использовать файл cookie FormsAuth (отправленный сайтом MVC) в браузер приложением Silverlight.

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