Получить учетные данные текущего запроса для использования в WebRequest

голоса
3

При обращении моего сайта, пользователь должен ввести свои учетные данные. Они в основном учетные данные для доступа обычного каталога. В какой-то момент я проверить, если определенный файл, что они хотят, чтобы загрузить существует по телефону

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

Несмотря на то, что я могу получить доступ к checkUri из браузера, я получаю 401 при выполнении выше проверки. Я думаю, что я должен установить

req.Credentials

Но я не знаю, где текущие учетные данные сохраняются ...

Есть идеи?

--Обновить--

  • Встроенная проверка подлинности Windows: Нет
  • Разрешить анонимный: Off
  • Caler: Ссылка на страницу того же сайта (GET)
  • Олицетворение: по умолчанию выключен (даже не знаю, как включить его в ASP.NET MVC)
Задан 10/12/2008 в 10:34
источник пользователем
На других языках...                            


3 ответов

голоса
6

У меня была аналогичная проблема , на месте , где я использую проверки подлинности форм, я был в состоянии решить эту проблему, используя код , предоставленный здесь как второй ответ в теме.

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();
Ответил 19/10/2009 в 17:29
источник пользователем

голоса
5

Я думаю, что вы хотите:

req.Credentials = CredentialCache.DefaultCredentials;
Ответил 10/12/2008 в 10:37
источник пользователем

голоса
1

Вы собираетесь необходимо включить встроенную проверку подлинности Windows.

Я не знаю, что происходит в ASP.NET MVC, но в ASP.NET Web Forms олицетворение возбуждает:

<identity impersonate="true"> 

в web.config.

Ответил 10/12/2008 в 15:46
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more