我有一个非常简单的场景 - 我需要我的应用程序自动对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授权成功并获得某种“未找到dummylink页面”类型的错误。我正在向UAG提供用户凭据,但它似乎没有把它们拿起来。
我可能在这里遗漏了一些非常明显的东西,这也是我第一次与UAG有关,所以请原谅愚蠢的错误:)
提前致谢
答案 0 :(得分:0)
原来这种做法完全错了!如果有人正在考虑如何做到这一点,那么请看看这个精彩的博客