0

我有一个非常简单的场景 - 我需要我的应用程序自动针对 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 有任何关系,所以请原谅愚蠢的错误:)

提前致谢

4

1 回答 1

0

事实证明,这种方法是完全错误的!如果有人正在研究如何执行上述操作,请查看这个精彩的博客

http://usingnat.net/sharepoint/2011/2/23/how-to-programmatically-authenticate-to-uag-protected-sharep.html

于 2013-05-28T20:21:54.530 回答