#asp.net-mvc-3 #asp-classic
#asp.net-mvc-3 #asp-classic
Вопрос:
Я должен запустить классический проект asp в корневой папке папки mvc.
Как я могу настроить веб-конфигурацию для защиты маршрутов через классические файлы asp?
Я попробовал следующее, но теперь у меня нет доступа ни к чему….
<location path="Account">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="/">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
Контроллер получит [Авторизовать(пользователей = «*»)], чтобы защитить их от анонимных пользователей.
С уважением, float
Комментарии:
1. Что вы подразумеваете под защитой доступа к классическим файлам asp? Должны ли эти файлы быть видны / выполняться только аутентифицированными пользователями ASP.NET Сайт MVC?
2. Да, все файлы (*.asp, *.pdf-файлы и т.д.) сайта classic asp должны быть доступны только прошедшим проверку подлинности пользователям Страницы MVC.
3. @float, под доступным ты подразумеваешь, что они должны загружаться в виде обычных текстовых файлов или исполняемых файлов?
4. @Darin Dimitrov, файлы asp должны выполняться iis (чтобы аутентифицированный пользователь мог видеть веб-сайт), PDF-файлы, документы и т.д. Должны быть загружаемыми (если аутентифицированный пользователь решит щелкнуть ссылку для скачивания)
5. @float, какую аутентификацию вы используете: basic, forms, NTLM, Digest, …?
Ответ №1:
Я нашел решение своей проблемы. Мне пришлось добавить следующие строки в web.config:
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<!-- allow specific mvc files/folders -->
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Home">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<!-- allow specific asp files/folders -->
<location path="logout.asp">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>