访问我的网站时,用户必须输入他的凭据.它们基本上是普通的目录访问凭证. 在某一点上,我通过调用检查他们想要下载的某个文件是否存在 WebRequest req = HttpWebRequest.Create(checkUri.AbsoluteU
在某一点上,我通过调用检查他们想要下载的某个文件是否存在
WebRequest req = HttpWebRequest.Create(checkUri.AbsoluteUri); WebResponse res = req.GetResponse();
虽然我可以从浏览器访问checkUri,但在进行上述检查时我得到401.我想我必须设置
req.Credentials
但我不知道当前凭据的存储位置…
有任何想法吗?
–Update–
>集成Windows身份验证:否
>允许匿名:关闭
> Caler:同一网站页面上的链接(GET)
>模拟:默认为关闭(甚至不知道如何在asp.net mvc中启用它)
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();
