Мы готовимся к переносу некоторых из наших сайтов IIS6 в IIS7, и в настоящее время приложение использует проверку подлинности на основе форм. Мы начали получать некоторые запросы с разных сайтов, чтобы использовать аутентификацию Windows для пользователей. Хотя это достаточно просто реализовать (и я показал внутренне, что нет никаких проблем с приложением, как и ожидалось), вопрос в том, как продолжать поддерживать проверку подлинности на Формах, когда встроенная Windows не работает. Я видел несколько пошаговых инструкций о том, как настроить его на IIS6, и я мог бы сделать то же самое на IIS7, но затем мне нужно включить обработку в режиме классического режима. Любое решение также должно быть перенесено в IIS6, если это возможно, чтобы сохранить дерево сборки простым.Аутентификация смешанного режима IIS7
Итак, каковы мои варианты? Я настраиваю приложение со встроенной аутентификацией Windows в IIS7, Forms Auth в файле web.config и перенаправляет ошибки 401 на страницу «ошибки», позволяющую им входить в систему с помощью форм, а затем вернуться к обычному приложению?
Случай, когда Формы, вероятно, понадобятся, будет зарезервирован для Работников-контрактов, нашего персонального персонала, и если кому-то необходимо получить к нему доступ на своем сайте из своего Экстранета. Поэтому в первую очередь для наших сотрудников вход в систему для проверки функциональности и подтверждения отчетов об ошибках. Я предположил, что мы просто утверждаем, что для того, чтобы наш персонал службы поддержки работал, нам нужен логин Windows, который всегда будет жить, а затем мы просто обеспечим местную ответственность за то, кто может войти на сайт, но мне сказали, что мы это сделаем лучше иметь аутентификацию форм.
Любые мысли? Я могу опубликовать некоторые ссылки статей, которые я уже прочитал, если это поможет форуму лучше сузить мои потребности.
tl; dr: Как сделать проверку подлинности в смешанном режиме (формы, окна) в IIS7 без перехода на классический конвейер и по-прежнему использовать конструкцию в IIS6, если это возможно.
Было бы лучше (a-la http://stackoverflow.com/questions/2432845/asp-net-mvc-and-mixed-mode-authentication) иметь два отдельных «проекта» в моей основной сборке, которые строго для выдачи машинных файлов cookie на Web.config MachineKey и, таким образом, сохранять механизмы аутентификации отдельно от использования приложения и сохранять формы в главном приложении? Это может быть самый простой путь. – jcolebrand
Предположительно мне нужно сделать что-то вроде этого: http://www.15seconds.com/Issue/050203.htm , но это кажется таким варварским, когда все это может находиться под одним стеком. – jcolebrand
Кроме того, для тех, кто читает это после того, как я разместил исходный вопрос и несколько ответов: если пользователь перейдет на сайт и НЕ вводит свои учетные данные в ответ 401, он возвращается на страницу ошибки 401 ASP.NET по умолчанию. Я не понял, как перенаправить их в этот момент на мою страницу по умолчанию для форм (но, может быть, я перестану смотреть слишком рано?) – jcolebrand