2008-11-25 5 views
14

Как мне настроить различные теги аутентификации для разных частей моего веб-приложения? Скажем, у меня есть:Множественные/разные настройки аутентификации в web.config

/ 
/folder1/ 
/folder2/ 

Можно ли задать различные <authentication/> тегов для каждой папки?

Я хочу, чтобы папка1 использовала проверку подлинности Windows, но folder2 использует проверку подлинности с помощью форм.

я пытался делать в <location/> тег, но это не выглядит, как вы можете иметь <authentication/> теги в течение <location/> тегов, по крайней мере, не с помощью VS 2008 с он построен в веб-сервере.

Это сообщение об ошибке - Ошибка 3 Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication', превышающего уровень приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.

<location path="/folder1"> 
    <system.web> 
     <authentication mode="Forms" /> 
     <authorization> 
     <deny users="?"/> 
     </authorization> 
    </system.web> 
    </location> 

ответ

11

У вас может быть только <authentication /> на верхнем уровне web.config. Возможно, вам придется создавать несколько приложений. т.е. вы можете создать приложение в приложении и использовать разные режимы аутентификации в каждом из них.

0

Я думаю, что вы можете установить разрешение проверки подлинности форм на folder1 для

<allow users="*" /> 

затем контролировать доступ окна с помощью установки разрешений окна на папке.

Я не пробовал, но я не могу придумать, почему это не сработает.

1

Эти настройки действительны только на корневом уровне вашего приложения ASP.Net. Чтобы использовать разные настройки в подпапке, вам нужно перейти в IIS и установить эту подпапку в качестве нового приложения.

Как только вы это сделаете, папка будет иметь другой значок в менеджере II. Внутри вашей подпапки создайте новый файл web.config и добавьте туда новые параметры аутентификации.

Дополнительная информация доступна по адресу Creating Applications.

+0

Правильно, но, похоже, в отладчике VS2008 он не может обрабатывать эти вложенные папки как папки приложений, мне нужно будет протестировать их, нажав на сервер IIS. – 2008-11-26 21:02:24