2011-07-12 10 views
2

ユーザーがユーザー名とパスワードを入力できるように、私はsilver-light 4.0アプリケーションを作成しました。私は元のため
URL文字列、次のように渡したい
した後、それはクエリ文字列をWebサイトに提出
、SLのアプリケーションからこの秘密データ(ユーザー名、パスワード)を提出..
: -   ます。http:// testsite.com/mypage.aspx? <暗号化された文字列>

Silverlight OOBアプリケーションからasp.net Webサイトにデータを渡すには?

私は

+0

資格情報が送信されている自分のWebページですか?もしそうなら、ウェブページはあなたに何を与えるのですか?代わりにWCFサービスを使用してみませんか?または、サードパーティのWebサイトに提出していますか?その場合は、どのようにすべきかに関するスペックが既にあるはずです。 – slugster

答えて

1

したがって、WebClientクラスを使用してページを取得できます。

(私はあなたのやってasp.net Webフォーム、NOT MVCを仮定している)

あなたのasp.netページは、あなたがあなたのクエリ文字列を読んで、あなたがそれを必要とする何の後ろにあなたのコードでは、空白のページでなければなりません成功または失敗に応じて、Response.Write();で適切な応答を作成します。

Silverlightコードでは、ページをリクエストするだけで、asp.netページから応答を読み取ることができます。

Asp.net:

var encyString = Request.QueryString["str"]; 
//some logic 
Response.Write("Success"); 

シルバー:Button1_Click

WebClient client = new WebClient(); 
client.DownloadStringCompleted += 
    new DownloadStringCompletedEventHandler(
    client_DownloadStringCompleted); 

、私は、ユーザーが指定した番号を含む完全なURLを渡し、DownloadStringAsyncを呼び出します。 DownloadStringCompletedイベント・ハンドラで

private void Button1_Click(object sender, RoutedEventArgs e) 
{ 
    string encryptedString = "example"; 
    client.DownloadStringAsync 
     (new Uri("http://testsite.com/mypage.aspx?"+encryptedString)); 
} 

、私は、イベント引数のエラープロパティがnullであることを確認して、テキストブロックに出力応答またはエラーメッセージのいずれか。

void client_DownloadStringCompleted(object sender, 
    DownloadStringCompletedEventArgs e) 
{ 
    if (e.Error == null) 
     resultBlock.Text = "Using WebClient: "+ e.Result; 
     //will be Response.Write(); 

    else 
     resultBlock.Text = e.Error.Message; 
} 

上記コードはthis blogから盗まれました。

スニッファがあなたのリクエストを読むことができることを忘れないでください。より良いセキュリティが必要な場合は、SSLを使用することができます。おそらく、このデータを送信するより安全な方法は、asp.netページにPOSTすることです。

This articleは、SilverlightからページへPOSTする方法を説明しています。まずSLのアプリで、その後、ASP.Netアプリに -

私は質問から理解何HTH

+0

こんにちは@ギディクライアントPCからウェブサイトのページに実行されるSL OOBアプリケーションでは、ブラウザのアプリケーションからdefault.aspxページへのクエリ文字列としてパラメータを渡しました。 –

+0

お返事ありがとうございます。 –

+1

私が間違っていない場合は、このアプリが同じドメインからインストールされているかどうかをOOB SLアプリからリクエストできます。 (例:testapp.comからAppがインストールされています)別のドメインからインストールされている場合は、testapp.comのルートに* clientaccesspolicy.xml *ファイルを含めてSLアプリケーションがアクセスできるようにする必要があります。 [このページを見る](http://msdn.microsoft.com/en-us/library/cc645032(v = v1.9).aspx)_clientaccesspolicy.xml_の多くのデフォルトの例があります。 – gideon

0

..私はasp.netのウェブサイトにSLアプリケーションからこれらの情報を渡す方法..
SLからASPXページに暗号化形式でユーザ名とパスワードを渡したいですHtmlPage.Window.Eval( "window.location.href = '" + YOURURL + "'")のように使用できます。

+0

@Priyan_R SLアプリケーションから新しいWebページにユーザー名とパスワードを渡し、URLに暗号化されたクエリ文字列を渡したい –

+0

暗号チェックアウトを使用してSilverlightから暗号化されたURLクエリー文字列を渡す。 –

1

はあなたが二度ユーザを認証していることです。その代わりにSLでユーザを認証し、ASP.Netアプリに結果(True/Falseまたはトークンがあるかもしれない)を渡すことができますか?これは私が感じる安全な方法です。

+0

だからSQLサーバーと通信し、それが許可されているかどうかをチェックする方法。 –

+0

私はユーザーを2回認証しません。ちょうど私はユーザーがページだけから認証するかどうかをチェックします..私はSQLサーバーでSLからユーザーを認証する方法を知らない。 –

+0

このビデオを見る - [リンク](http://www.silverlight.net/learn/videos/all/use-aspnet-authentication-silverlight-3/)。それはSL3のためのものですが、SL4のために働くべきです。あなたが探しているのは複雑なので、認証プロセスをよく理解する必要があります。 – Nilesh

関連する問題