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