Я разместил это на Server Fault, но поскольку для него есть своего рода программный аспект, я также опубликую его здесь.Заблокируйте сайт, используя Forms Auth в IIS7 с Windows Auth
У меня есть приложение ASP.NET MVC 1.0, которое использует аутентификацию по формам. Мы используем Windows Server 2008. Мне нужно заблокировать сайт, чтобы только определенные пользователи (в группах AD) могли получить доступ к сайту. К сожалению, однако, когда я установил, что сайт не разрешил анонимным пользователям и не использовал проверку подлинности Windows, из-за интеграции сайта и IIS он показывает пользователя как подписанный как свою учетную запись домена, вместо того, чтобы разрешать им регистрироваться через Forms Авт.
Итак, мне нужна аутентификация в смешанном режиме. Мне нужно, чтобы сайт был доступен только через windows auth, без анонимных пользователей, но как только вы находитесь, ему нужно использовать только формы auth. Как я буду делать это правильно?
EDIT:
уточнение. Сайт должен работать следующим образом.
- Вы переходите к URL-адресу, и появляется окно auth login. Вы входите в аккаунт домена, который имеет доступ. Если у вас нет доступа, он показывает ошибку 401.
- Если у вас есть доступ, вы попадаете на сайт. Однако сайт не использует имя пользователя auth для Windows. Он использует формы Auth. Итак, вы должны вздохнуть на сайт, используя формы auth.
Проблема заключается в том, что когда я устанавливаю ее для выполнения шага 1, она использует имя пользователя Windows на шаге 2. Я не хочу, чтобы это делалось.
Сайт использует формы AUTH , и это не может измениться. В IIS6 вы использовали возможность защиты доступа к окнам auth, а затем использовать формы auth в фактическом коде. Мне нужно это сделать. – Josh
Отредактированный ответ на вопрос об обряде. См. Выше. –