ASP.NET MVC 3 Области и множественная аутентификация в web.config - PullRequest
13 голосов
/ 18 ноября 2011

Я пытался проследить за этим блогом, чтобы заставить Области работать:

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.

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

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

1 Ответ

0 голосов
/ 18 ноября 2011

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

...