Совместное использование аутентификации на веб-сайте asp.net mvc 3 и бизнес-приложении silverlight 4 через RIA Services - PullRequest
0 голосов
/ 27 июня 2011

У меня есть веб-сайт asp.net MVC 3 и бизнес-приложение silverlight 4. Отдельно они оба используют систему членства в asp (приложение silverlight через RIA Services). Я могу запускать их по отдельности и создавать пользователей или входить в систему с веб-сайта или из приложения Silverlight. В этом отношении они также совместно используют одну и ту же базу данных, поэтому регистрация пользователя из любой из них приведет к переходу к одним и тем же таблицам в той же базе данных.

То, что я хотел бы сделать, это разместить бизнес-приложение Silverlight на веб-сайте MVC 3 и разделить аутентификацию между ними. Это означает, что на веб-сайте будет ссылка для запуска приложения silverlight, поэтому, если я войду через веб-сайт и запустите приложение silverlight, я бы хотел, чтобы приложение silverlight знало, что я уже вошел в систему.

В качестве альтернативы я хотел бы иметь возможность запускать приложение silverlight в качестве отдельного настольного приложения и входить в него через службы RIA. Эту часть я уже могу сделать, но мне нужно ее поддерживать.

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

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

1 Ответ

1 голос
/ 28 июня 2011

Если ваше приложение Silverlight было изначально разработано для обработки входа в систему, у вас не должно возникнуть проблем с этим. Вы можете проходить аутентификацию из приложения ASP.NET MVC3 (FormsAuthentication.SetAuthCookie) и иметь представление, в котором размещается ваше приложение Silverlight. Когда приложение SL запускается, частью его процесса является проверка, если WebContext.Current.User.IsAuthenticated, так что он вступит во владение оттуда, если пользователь уже аутентифицирован, ваше приложение SL должно обойти свой логин.

В приложении ASP.NET MVC3 вы можете прикрепить [Authorize] на контроллере для представления, содержащего плагин SL. Это представление не будет отображаться, пока пользователь не будет аутентифицирован.

...