Аутентификация IIS.Наличие как анонимной, так и Windows-аутентификации вызывает дополнительные заголовки - PullRequest
1 голос
/ 15 сентября 2011

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

Итак, у нас есть SOA-решение с балансировкой нагрузки. Частью решения является то, что все запросы должны быть аутентифицированы (с использованием аутентификации Windows). Другая часть решения заключается в том, что балансировщик нагрузки должен иметь анонимный доступ к странице поддержки активности. Итак, мы выполнили соответствующие разделы web.config, как показано ниже

<location path="hello.aspx" allowOverride="false">
  <system.web>
    <authorization>
      <allow users="?" />
    </authorization>
  </system.web>
</location>
<system.web>
  <authentication mode="Windows" />
  <authorization>
     <deny users="?" />
  </authorization>
  ...
</system.web>

мы правильно настроили httpRequest, как показано ниже

httpRequest.UseDefaultCredentials = true;
httpRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Default);

так вот в чем проблема. Когда включена только встроенная аутентификация, все работает отлично. Однако когда включена анонимная и встроенная аутентификация (с определенным выше web.config), мы получаем дополнительный заголовок, возвращающийся

Cache-Control: private

Это вызывает у нашего клиента недовольство. Мы можем установить CachePolicy на NoCacheNoStore, но это не идеально, потому что другие запросы могут и должны быть кэшированы. Установка clientCache DisableCache не имеет никакого эффекта.

Любые идеи будут оценены.

1 Ответ

0 голосов
/ 16 сентября 2011

Никогда не находил решения, но в любом случае, для тех из вас, кто заинтересован, вот обходной путь

...