У нас есть IIS7 сайт интрасети, работающий под интегрированным конвейером, который в основном является ASP.Net с несколькими устаревшими классическими страницами ASP. Сайт разрешает анонимный доступ к большинству областей, но использует проверку подлинности Windows для защиты определенных папок. Запросы к страницам ASP.Net в защищенных папках ведут себя так, как и ожидалось (авторизованные пользователи могут видеть их, другие отклоняются), но любой пользователь может видеть любую классическую ASP-страницу в защищенных папках, независимо от разрешений.
Я подозреваю, что модуль проверки подлинности Windows не вызывается для запросов к классическим страницам ASP. Мы работаем в режиме интегрированного конвейера, и я нашел эту статью ( http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline/ ), которая указывает на необходимость явного удаления и повторного добавления модулей, если вы хотите воспользоваться преимуществами интегрированного конвейера для запросов, не относящихся к ASP.Net. Я попытался скопировать пример этой статьи, только заменив FormsAuthentityModule на, добавив в web.config в корне приложения следующее:
Однако классические ASP-страницы все еще обслуживаются независимо от разрешения.
-121--1685153-
Возможное дублирование:
Почему необходимо определить как = =, так и! = в C #?
Почему перегрузка + = возможна только при перегрузке +, но = = и! = отдельно перегружены?
Кажется, она должна быть перевернута.
+ = перегрузка почти всегда возможна для более эффективной записи, поскольку нет необходимости выделять память для нового объекта. Но я не могу изобрести пример, в котором операторы = = и! = должны отличаться в чем-то, кроме инвертирования результата Equals ().