2016-01-25 7 views
0

Я работаю над подключаемой архитектурой с использованием ASP.NET MVC 5 и областей. Для каждой области, которую я хочу добавить, я создаю для нее отдельный проект ASP.NET MVC. Затем я убеждаюсь, что каждый «модуль» отправляет свои DLL в «bin» основного приложения.Авторизовать атрибут в ASP.NET MVC 5 Pluggable App

Теперь я хочу использовать идентификатор ASP.NET. Я настроил идентификатор ASP.NET в главном приложении. Когда я устанавливаю атрибут «Авторизовать» на контроллере, принадлежащем одному из отдельных «Модулей», я получаю «Ошибка HTTP 401.0 - Несанкционированный». Я считаю, что это связано с тем, что отдельный ASP.NET MVC-модуль не настраивал, куда идти, когда пользователь должен пройти аутентификацию.

Какие параметры я должен разрешить модулю ASP.NET MVC для аутентификации пользователя с помощью основного приложения ASP.NET Identity? Другими словами, я пытаюсь сделать один знак между основным приложением и каждым модулем ASP.NET MVC (рассматривается как область).

Большое спасибо,

+0

Можете ли вы указать, как вы настроили приложение asp.mvc и как вы зарегистрировали области? – hellwd

ответ

0

я считал каждый уголок быть отдельным приложением MVC. Поэтому я добавил к каждому MVC App (Area) в регистрационный файл Площадь следующим образом:

public class HRAreaRegistration : AreaRegistration 
{ 
    public override string AreaName => "HR"; 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "HR_default", 
      "HR/{controller}/{action}/{id}", 
      new { action = "Index", id = UrlParameter.Optional } 
     ); 
    } 
} 

В главном APP, я называю эту строку в файле Global.asax:

AreaRegistration.RegisterAllAreas(); 

я был прочитав эту тему, мне нужно настроить в каждом модуле (области) идентификатор machineKey + OWIN Cookie для проверки подлинности.

Thanks

Смежные вопросы