2011-11-11 5 views
2

普通のhtmlページからログインして、silverlightアプリを読み込むことはできますか?もしそうなら、どうすればいいですか? 私自身のアプローチはsilevrlightアプリの ホスティングページから認証Cookieを得ていた。silverlight login via html

string[] cookies = System.Windows.Browser.HtmlPage.Document.Cookies.Split(';'); 

これまでのところありません運。

+0

「運がない」というのは、あなたが抱えている問題の説明ではありません。故意にSilverlight ClientHTTPスタックを使用することを選択しておらず、認証が実際にクッキーに格納されている場合は、何もする必要はありません。 – AnthonyWJones

+0

申し訳ありません...私は実際にSOに関連する質問があります。私はClientHTTPを使用します。関連する質問はhttp://stackoverflow.com/questions/8090917/silverlight-4-getting-html-cookies – synergetic

答えて

1

セッションクッキーのHttpOnly性質を回避するには、サーバー側のコードを使用します。

if (Request.Cookies["session"] != null) 
{ 
    initParams.Attributes["session"] = Request.Cookies["session"].Value 
} 
- :Silverlightのアプリケーションをホストしているページは、.NET ASPXページであるならば、あなたがセッションIDにアクセスすることができます例えば

(ソースのうち、あなたは、これはあなたが本当にやりたいものであるかどうかを評価する必要があります)

シルバー<object>要素は以下の子を有する場合: -

 <param name="initParams" id="initParams" runat="server" /> 

は今、内部のあなたは、この値にアクセスし、すべてのあなたのClientHttp要求で使用CookieContainerでそれを追加することができsliverlight。

0

Silverlightアプリケーションを認証が必要なWebページにホストすることができます。この方法では、許可された訪問者だけがそれを実行します。

あなたの質問を詳しく説明できますか?あなたが達成しようとしていることをよく理解しているかどうかは分かりません。

+0

私が見たすべての認証の例は、xapファイルがロードされた後、silevrlightアプリケーション内でそれを行いました。私がしたいのは、通常のHTMLフォームを使って認証してから、silverlight appをロードするだけです。 – synergetic

1

直接回答は可能です。アンソニーWジョーンズがコメントで述べたように、ブラウザのhttpスタックを使用してセッションクッキーが設定されている場合は、他に何も必要ありません。クライアントhttpを使用する場合は、受け入れられた回答を参照してください。