0

Silverlight 4 のクライアント http スタックの新機能の 1 つは、ネットワーク資格情報を提供する機能です。この機能を使用すると、Windows は「Windows セキュリティ」メッセージ ボックスを表示し、ユーザーにログインとパスワードを要求します (ボックス内のテキストは、「サーバー xx アット xx にはユーザー名とパスワードが必要です。警告: このサーバーは、ユーザー名を要求しています。およびパスワードが安全でない方法で送信される可能性があります (安全な接続を使用しない基本認証)」)。以下のようにログインとパスワードを設定しているので、なぜこれが表示されるのかわかりません。私のコードは次のとおりです。

var request = WebRequestCreator.ClientHttp.Create(new Uri("http://myserver:8080/gui/?list=1"));
request.Credentials = new NetworkCredential("login", "password");
request.BeginGetResponse(new AsyncCallback(OnRequestComplete), request);

メッセージボックスにユーザー名とパスワードを入力すると、リクエストは正常に完了します。いくつかの理由から、ユーザーにログインとパスワードの入力を求めたいので、可能であればメッセージボックスを避けたいと思います。

私のセットアップは、Silverlight 4 final、VS 2010 final、Windows 7 x86 です。アプリケーションは、昇格されたアクセス許可を持つブラウザーを使用していません。

4

2 に答える 2

1

Web サーバーへの呼び出しがクロスサイト呼び出しである場合、承認ヘッダーを有効にするために、Web サーバーでクライアント アクセス ポリシーを指定する必要があります。XAP ファイルを に配置するか、 の Web サイトにファイルをhttp://myserver:8080追加する必要があります。clientaccesspolicy.xmlhttp://myserver:8080

Tim Heuer は、 Silverlight 4 で Authorization ヘッダーの変更を有効にする方法について、さらに詳しい情報を提供しています。

于 2010-05-21T23:59:28.860 に答える
-1

「ユーザー名とパスワードを安全でない方法で送信することを要求しています」という警告は、Web ブラウザーの標準である安全な接続である ssl (https) 経由でデータを送信していないことを意味している可能性があります。

ユーザーのインターネット セキュリティ設定に応じて、このプロンプトが表示される場合と表示されない場合があるため、これを乗り越えることはできません。あなたの側からそれを修正できる唯一の方法は、ssl を使用することです。

于 2010-04-25T23:31:44.737 に答える