правильная конфигурация IIS 6 для проверки подлинности форм - PullRequest
2 голосов
/ 21 апреля 2011

Я использую проверку подлинности с помощью форм в моем текущем веб-приложении ASP.NET (не MVC), и мой сервер IIS 6 настроен со следующими параметрами:

во [вкладке безопасности каталога] -> [АутентификацияСпособы] У меня есть:

  • анонимный доступ включен
  • встроенная проверка подлинности Windows включена

Помешают ли вышеуказанные параметры проверке подлинности с помощью форм?Другими словами, какова правильная конфигурация IIS 6 для проверки подлинности с помощью форм?

РЕДАКТИРОВАТЬ

Я только что сделал тест с включенными двумя вышеуказанными параметрами и сеанс проверки подлинности с помощью форм истеки перенаправил меня на страницу входа в систему, но все ответы на данный момент говорят о том, что [встроенная проверка подлинности Windows] должна быть отключена!

Ответы [ 4 ]

7 голосов
/ 21 апреля 2011

Вот контрольный список для использования проверки подлинности с помощью форм ASP.NET на IIS6

Настройка IIS:

В IIS Свойства сайта -> Безопасность каталога -> Аутентификацияи контроль доступа

  • Включить анонимный доступ
  • Отключить все Методы аутентифицированного доступа

enter image description here

Настройка проверки подлинности с помощью форм:

Настройка проверки подлинности с помощью форм на вашем сайте web.config:

<authentication mode="Forms">
  <forms name="MySite" 
         path="/" 
         loginUrl="~/logon.aspx" 
         protection="All" 
         timeout="30"
         slidingExpiration="true" />
</authentication>

Ваши name и loginUrl могут различаться.Атрибут slidigExpiration используется для продления срока действия файлов cookie проверки подлинности форм, а не просто для удаления пользователя с сайта после истечения срока действия timeout.Значение timeout указывается в минутах.

Настройка времени ожидания сеанса:

Необходимо настроить состояние сеанса timeout так, чтобы оно превышало срок действия билета проверки подлинности с помощью форм.,Если вы этого не сделаете, то бездействующий сеанс может тайм-аут сеанса, но оставит пользователя вошедшим в систему. Код, который ожидает присутствия значений сеанса, будет генерировать исключения, потому что они пропали, даже если они все еще аутентифицированы.Значение timeout также указывается в минутах.

<sessionState mode="InProc" timeout="40" />
2 голосов
/ 21 апреля 2011

Анонимный доступ должен быть включен, я не думаю, встроенная проверка подлинности Windows имеет значение, но если она вам не понадобится, лучше отключить ее. Важно помнить, что он включен в web.config:

<authentication mode="Forms" />

Вот базовый учебник, который может быть полезен:

Обзор проверки подлинности с помощью форм

2 голосов
/ 21 апреля 2011

Анонимный доступ -> проверено Все остальные опции на вкладке «Безопасность» -> сняты

Обратите внимание, проверка подлинности форм выполняется .NET, а не IIS. Кроме того, проверка подлинности Windows также ДОЛЖНА быть отключена.

Скорее Технические объяснения от MS.

2 голосов
/ 21 апреля 2011

Поскольку проверка подлинности с помощью форм не основывается на проверке подлинности IIS, вам следует настроить анонимный доступ для вашего приложения в IIS, если вы собираетесь использовать проверку подлинности с помощью форм в приложении ASP.NET.

См. Здесь http://msdn.microsoft.com/en-us/library/ff647070.aspx для получения дополнительной информации.

...