0

我有一个使用 Active Directory 联合身份验证服务对用户进行身份验证的网站。我想在代码中使用 HttpWebRequest 类访问站点的 URL。但是当我尝试这样做时,我收到了 401 错误。经过一番研究,我发现它使用 NTLM 身份验证。我试过这个解决方案。但我看到我得到的响应是一个带有一些隐藏字段的 HTML 页面,它有一个 javascript 来提交加载页面。操作 URL 将是我的域的 URL。我尝试手动将 HTML 文本作为表单提交,但我再次得到相同的响应。不太确定如何访问该页面。有人有想法吗?

4

1 回答 1

0

在过去的几天里,我一直在处理这样的问题。在尝试了很多事情之后,我最终采用了以下方法:

  1. 创建一个 System.Net.CookieContainer 对象并将其传递给每个 httpwebrequest 的 CookieContainer。
  2. 手动解析表单元素并将它们作为 RequestStream 传递给表单的目标。这必须在 httpwebrequest 上作为 POST 而不是 GET 来完成。
  3. 对于任何连续请求,请确保附加相同的 CookieContainer。您的经过身份验证的 ADFS cookie 存储在此处。没有它们,您将陷入无限循环。

问候

于 2013-02-21T14:38:16.930 回答