Я занимаюсь разработкой веб-приложения, и мне нужно совместить проверку подлинности с помощью форм и Windows.
Подход, который я выбрал, заключается в следующем: метод аутентификации на всех веб-сайтах должен быть аутентифицирован для форм. Существует страница формы (~/home/Login
) для входа через формы авторизации. Волшебство (и проблема) заключается в том, что только на одной странице (скажем, ~/Home/WinLogin
) должен быть настроен метод auth для проверки подлинности windows. Эта страница используется для чтения HttpContext.User.Identity.Name
для получения имени пользователя Windows.
Чего я не знаю, так это как настроить авторизацию на iis6 для одного конкретного маршрута?
Маршрут выглядит как ~/Home.ashx/WinLogin
. Хорошо, но что тогда? Я попытался создать каталог Home.ashx в виртуальном каталоге и подкаталоге WinLogin. Но потом ~/Home.ashx/Login
(с формой входа) перестал работать.
Поскольку на iis6 мы должны использовать обработчик ashx, кажется, что нет другого способа сделать это, кроме создания обычной веб-страницы ~/WinLogin.aspx
, которая делает эту работу. Однако я хотел избежать этого и использовать только MVC.
Только для информации, как настроить iis7: IIS 7.0 Блог на стороне сервера
Она не идеальна (Майк Володарский должен был создать модуль авторизации пользовательских форм), но он работает.