我有一个非常简单的场景 - 我需要我的应用程序自动针对 UAG 网关进行身份验证。目前,我在门户后面只有一个文件共享应用程序,但我只是试图通过在代码中提供用户凭据来对 UAG 进行自动身份验证。我正在尝试访问portal.mylab.com/dummylink
- 我知道这会失败,但我希望应用程序向我显示它通过了 UAG 身份验证并在尝试查找此 dummylink 应用程序时失败
我现在拥有的很简单,WP8 应用程序中只有一个按钮,其他所有内容都是硬编码的。我在按钮下有一个简单的文本块,显示来自网站的响应,但我每次都得到身份验证页面。这就是我所拥有的
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 代码,其中有 2 个按钮可以使用 PIN 或使用凭据登录。我期望(或者更确切地说希望)看到的是 UAG 授权成功并获得某种“未找到虚拟链接页面”类型的错误。我正在向 UAG 提供用户凭据,但它似乎没有收到它们。
我可能在这里遗漏了一些非常明显的东西,而且这是我第一次与 UAG 有任何关系,所以请原谅愚蠢的错误:)
提前致谢