RIA Services: индивидуальная авторизация - PullRequest
0 голосов
/ 26 марта 2010

Вот хороший пример того, как создать пользовательскую авторизацию для служб RIA: RIA Services: как создать пользовательскую аутентификацию?

В моем случае Silverlight-страницы будут отображаться как часть HTML-контента, а авторизация пользователей уже реализована на стороне сервера (членство в ASP.NET не используется) Требуется отображать на страницах Silverlight различную информацию для авторизованных и не авторизованных пользователей.

Есть ли возможность отслеживать на стороне Silverlight, если пользователь уже авторизован на стороне сервера (на обычном веб-сайте ASP.NET)?

Пожалуйста, расскажите, как это сделать.

Заранее спасибо.

1 Ответ

0 голосов
/ 26 марта 2010

Несколько способов:

  1. Самое простое: если аутентификация приводит к перезагрузке страницы (и, следовательно, всех приложений Silverlight), вы можете отправить значение параметра «IsAuthenticated» в приложение Silverlight через тег <param name="IsAuthenticated" value="<%= IsAuthenticated %>" /> в * приложения. Тег 1006 * (в загрузочном HTML) или с помощью метода InitParameters объекта asp:Silverlight, какой бы вы ни использовали; параметр будет виден приложению SL в InitParams элементе StartupEventArgs, отправленном обработчику события Startup приложения.

  2. Более сложный: создайте веб-службу HTTP WCF (т.е. ту, которую может видеть Silverlight), которая содержит метод, который возвращает текущий статус аутентификации пользователя.

Конечно, это только сообщает приложению SL о том, прошел ли пользователь аутентификацию, и не помогает заблокировать любую информацию, которую вы отправляете в приложение, - другими словами, сервер должен по-прежнему проверять, что «только аутентифицировано» msgstr "информация возвращается только к запросам от приложений SL, работающих в аутентифицированных сеансах браузера. (Предполагая, что информация относится к аутентификации. Если это просто другой набор рекламных баннеров, то ничего страшного.)

...