Подтвердить что ты не робот

ASP.NET MVC 3 Области и множественная аутентификация в web.config

Я пытаюсь следить за этим блогом, чтобы получить работу Areas:

http://mstechkb.blogspot.com/2010/10/areas-in-aspnet-mvc-20.html

В сообщении в блоге он идентифицирует возможность установления подлинности для каждой области, например:

<location path="Area1">
  <system.web>
  <authentication mode="Windows" />
  <authorization> 
    <allow roles="role1,role2"/>
    <deny users="*"/> 
  </authorization> 
</system.web>
</location>

Однако, когда я пытаюсь создать это в новом проекте в Visual Studio 2010, я получаю следующую ошибку при запуске:

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

Из того, что я вижу, это потому, что вы не можете указать элемент аутентификации, если он не находится на верхнем уровне web.config.

Так можно сделать то, что говорится в блоге? Можете ли вы иметь области с элементами аутентификации внутри элементов местоположения в файле web.config?

4b9b3361

Ответ 1

Что я узнал о ASP.NET MVC, всегда лучше устанавливать правила авторизации с атрибутом [Authorization], применяемым к отдельным контроллерам, потому что он более безопасен и более адекватен с учетом того, как работает система маршрутизации.