2014-09-10 4 views
1

У меня есть проверка подлинности Windows в одном из веб-проектов, над которыми я работал. Из-за того, что у всех других есть аутентификация форм, я хочу реализовать его и в этом конкретном проекте. Я следил за этой статьей http://www.codeproject.com/Articles/37558/Windows-Authentication-Using-Form-Authentication и добавил новую страницу входа, но после запуска проекта я перенаправлен на ту же страницу по умолчанию, которую он использовал раньше.Переключение с Windows на проверку подлинности форм

Вот изменения, которые я сделал в web.config:

<authentication mode="Forms"> 
    <forms loginUrl="login.aspx"></forms> 
</authentication> 

<authorization> 
    <deny users="?"/> 
</authorization> 

Каковы мои возможные ошибки?

+0

Вы изменили настройки в IIS, чтобы отключить проверку подлинности Windows? – mason

ответ

0

При переключении форм аутентификации из Аутентификация Windows, вам необходимо отключить проверку подлинности Windows в IIS для вашего приложения. Он не делает это автоматически, когда вы включаете аутентификацию форм в файле web.config.

У вас, скорее всего, есть и форма, и проверка подлинности Windows, включенные в IIS в вашем приложении. Я полагаю, что в этом случае IIS по умолчанию выполнит проверку подлинности Windows и обходит вашу регистрационную форму.

Чтобы проверить, что вы можете сделать следующее:

  • Перейти к IIS
  • Найдите ваш Применение
  • Перейти к Authentication
  • Настройте следующие
    • Анонимный Аутентичный ция: Enabled
    • ASP.NET Олицетворение: Disabled
    • Базовая аутентификация: Disabled
    • Digest Authentication: Disabled
    • Forms Authentication: Enabled
    • Проверка подлинности Windows: Отключено

Вы также можете отключить анонимную аутентификацию, если вам не нужна целевая страница до входа в систему.

+0

Кажется, у меня недостаточно прав для изменения аутентификации. Тем не менее, как Windows, так и Forms Authentication отключены. Единственными включенными параметрами являются анонимная аутентификация и олицетворение ASP.NET. –

+1

Вам нужно убедиться, что вы можете включить аутентификацию форм и отключить олицетворение ASP.NET, если это вам действительно не понадобится для реализации вашего приложения. Реализация аутентификации вашей формы будет обрабатывать аутентификацию в Active Directory, и вы не будете использовать олицетворение для этой цели, по крайней мере. – Kirk

Смежные вопросы