非常に単純なシナリオがあります。アプリが UAG ゲートウェイに対して自動的に認証される必要があります。現時点では、ポータルの背後にファイル共有アプリケーションしかありませんが、コードでユーザー資格情報を提供することにより、UAG に対して自動認証を実行しようとしています。アクセスしようとしていますportal.mylab.com/dummylink
- これが失敗することはわかっていますが、UAG 認証に合格し、このダミーリンク アプリケーションを見つけようとしたときに失敗したことをアプリに表示させたい
私が今持っているものはシンプルです。WP8 アプリにはボタンが 1 つだけあり、それ以外はすべてハードコーディングされています。ボタンの下に Web サイトからの応答を示す単純なテキストブロックがありますが、毎回認証ページが表示されます。これは私が持っているものです
private void Button_Click(object sender, RoutedEventArgs e)
{
System.Uri targetUri = new System.Uri("portal.mylab.com/dummylink");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
request.CookieContainer = new CookieContainer();
request.Headers["User-Agent"] = "Microsoft Office Mobile";
request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes("testuser" + ":" + "Password1")) + System.Environment.NewLine;
request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request);
}
private void ReadWebRequestCallback(IAsyncResult callbackResult)
{
HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);
using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
{
string results = httpwebStreamReader.ReadToEnd();
Dispatcher.BeginInvoke(() => TextBlockResults.Text = results);
}
}
テキストブロックを見ると、ログイン ページ (モバイル ポータル用) の HTML コードが返されており、PIN または資格情報を使用してログインするための 2 つのボタンが表示されています。私が期待していた (またはむしろ望んでいた) のは、UAG 承認が成功し、ある種の「ダミーリンク ページが見つかりません」というエラーが発生することです。ユーザー資格情報を UAG に提供していますが、取得されていないようです。
私はおそらくここで非常に明白な何かを見逃しています。また、UAG と関係があるのはこれが初めてなので、愚かな間違いをお許しください :)
前もって感謝します