如何从ASP.NET中提取当前请求凭证以供WebRequest使用?

2026-03-30 12:121阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计357个文字,预计阅读时间需要2分钟。

如何从ASP.NET中提取当前请求凭证以供WebRequest使用?

访问我的网站时,用户必须输入他们的凭证。这些凭证基本上是普通的目录访问凭证。在某些情况下,我会通过调用检查它们想要下载的文件是否存在。WebRequest req=HttpWebRequest.Create(checkUri.AbsoluteUri);

访问我的网站时,用户必须输入他的凭据.它们基本上是普通的目录访问凭证.
在某一点上,我通过调用检查他们想要下载的某个文件是否存在

WebRequest req = HttpWebRequest.Create(checkUri.AbsoluteUri); WebResponse res = req.GetResponse();

虽然我可以从浏览器访问checkUri,但在进行上述检查时我得到401.我想我必须设置

req.Credentials

但我不知道当前凭据的存储位置…

有任何想法吗?

–Update–

>集成Windows身份验证:否
>允许匿名:关闭
> Caler:同一网站页面上的链接(GET)
>模拟:默认为关闭(甚至不知道如何在asp.net mvc中启用它)

我在使用表单身份验证的网站上遇到了类似的问题,我能够通过使用 here提供的代码作为线程中的第二个回复来解决此问题.

如何从ASP.NET中提取当前请求凭证以供WebRequest使用?

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri); // Add the current authentication cookie to the request HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; Cookie authenticationCookie = new Cookie( FormsAuthentication.FormsCookieName, cookie.Value, cookie.Path, HttpContext.Current.Request.Url.Authority); req.CookieContainer = new CookieContainer(); req.CookieContainer.Add(authenticationCookie); WebResponse res = req.GetResponse();

本文共计357个文字,预计阅读时间需要2分钟。

如何从ASP.NET中提取当前请求凭证以供WebRequest使用?

访问我的网站时,用户必须输入他们的凭证。这些凭证基本上是普通的目录访问凭证。在某些情况下,我会通过调用检查它们想要下载的文件是否存在。WebRequest req=HttpWebRequest.Create(checkUri.AbsoluteUri);

访问我的网站时,用户必须输入他的凭据.它们基本上是普通的目录访问凭证.
在某一点上,我通过调用检查他们想要下载的某个文件是否存在

WebRequest req = HttpWebRequest.Create(checkUri.AbsoluteUri); WebResponse res = req.GetResponse();

虽然我可以从浏览器访问checkUri,但在进行上述检查时我得到401.我想我必须设置

req.Credentials

但我不知道当前凭据的存储位置…

有任何想法吗?

–Update–

>集成Windows身份验证:否
>允许匿名:关闭
> Caler:同一网站页面上的链接(GET)
>模拟:默认为关闭(甚至不知道如何在asp.net mvc中启用它)

我在使用表单身份验证的网站上遇到了类似的问题,我能够通过使用 here提供的代码作为线程中的第二个回复来解决此问题.

如何从ASP.NET中提取当前请求凭证以供WebRequest使用?

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri); // Add the current authentication cookie to the request HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; Cookie authenticationCookie = new Cookie( FormsAuthentication.FormsCookieName, cookie.Value, cookie.Path, HttpContext.Current.Request.Url.Authority); req.CookieContainer = new CookieContainer(); req.CookieContainer.Add(authenticationCookie); WebResponse res = req.GetResponse();