У меня есть Site Miner, установленный на IIS7, и я запускаю сайт ASP.NET на сервере. Похоже, что система единого входа Site minder не может защитить запросы ASP.NET MVC. Похоже, что все запросы ASP.NET обрабатываются фильтром isapi ASP.NET, который предотвращает запуск фильтра isapi Siteminder. Как заставить систему единого входа Siteminder работать для защиты моего сайта ASP.NET MVC? Есть ли способ заставить фильтр isapi для SSO Siteminder загружаться перед фильтром isapi ASP?
Система единого входа Siteminder не защищает сайт ASP.NET MVC
Ответы (4)
Решение для нас состояло в том, чтобы перечислить обработчик ISAPI веб-агента SiteMinder, за которым следует обработчик ISAPI MVC, именно в этом порядке, в вашем файле web.config.
Я разместил фрагмент кода здесь а>.
Пробовали ли вы заказывать фильтры ISAPI в IIS? Я не делал этого с Win2008 IIS7, но с Windows 2003 установщик агента SiteMinder переупорядочивает фильтры. Вы должны иметь возможность проверить его в диспетчере IIS и изменить порядок. Фильтр SiteMinder должен быть вверху.
У меня была такая же проблема на моем сайте MVC-2, хотя виртуальная папка была защищена siteminder.
Наконец-то разобрался, в чем дело.
Изменен режим пула приложений с интегрированного на классический и вуаля! проблема решена.
У нас такая же проблема для MVC3 на IIS7, и нам нужно использовать интегрированный режим. Наше решение состоит в использовании комбинации IHttpModule и Handler (.axd), но теперь это необязательно, так как новая версия siteminder имеет IIS7WebAgent.dll, который представляет собой интегрированный МОДУЛЬ вместо фильтра ISAPI (ISAPI6WebAgent.dll). Я протестировал это и подтвердил его работу, он смог защитить все наши URL-адреса MVC, и мы также можем прочитать заголовок HTTP, созданный администратором сайта, таким как SM_USER, из конвейера MVC.
Я протестировал версию Siteminder R12 SP 3. Если вы планируете использовать IIS7WebAgent.dll, вам необходимо удалить все вхождения ISAPI6WebAgent.dll в разделах «Сопоставления обработчиков», «Ограничения ISAPI и CGI» и «Фильтр ISAPI» в IIS, чтобы уверен, что это не усложняет.