2010-06-10 2 views
2

Сценария:Silverlight 4 - MVC 2 ASP.NET Membership интеграция "единый вход"

  1. У меня есть 2 сайт ASP.NET MVC с помощью ASP.NET Forms Authentication.

  2. Сайт включает приложение Silverlight 4, которое необходимо безопасно использовать для внутренних веб-сервисов.

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

Проблема:

  1. Безопасно обращающееся WebServices из Silverlight с использованием идентичности текущих пользователей, не требуя от пользователя повторно войти в системе в Silverlight приложения.

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

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

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

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

рассматриваемых решений:

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

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

Вопросы:

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

  2. Как вы рекомендуете внедрить это решение?

+0

Основываясь на отсутствии ответа на этот вопрос, я собираюсь предположить, что нет большого ответа ... – Scrappydog

+0

SSO - хорошо избитая собака, и здесь есть много примеров и в других местах, но ваша история, возможно, является краеугольным камнем, поэтому скорее всего, не так много ответов на опыт. Я скажу, что, по моему опыту, это, безусловно, кажется разумной и реалистичной историей, но потребует некоторого сосредоточенного внимания, которое вы вряд ли получите от тех, кто еще не реализовал такую ​​историю. удачи. –

+0

У меня очень похожий сценарий. Что вы на самом деле делали? –

ответ

0

Вы можете расширить WCF использовать членство в authencation магазин и повторно использовать FormsAuth Cookie (отправить на сайт MVC) в браузере с помощью Silverlight приложения.

0

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

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