Как перенести приложения с классического ASP на ASP.NET MVC?

В настоящее время у нас есть много веб-приложений (внешних и внутренних), разработанных с использованием технологий Classic ASP и .NET 2.0. У каждого из этих веб-приложений есть собственный экран входа в систему, который аутентифицируется по собственной базе данных или использует аутентификацию Windows. Пользователи имеют доступ к одному или нескольким из этих приложений, то есть им необходимо выйти и снова войти в приложения, к которым они хотели бы получить доступ. Все приложения используют часть внутренних источников данных. Кроме того, бизнес-логика встроена в пользовательский интерфейс в дополнение к дублированию между приложениями, поскольку нет общего кода / бизнес-логики. Снимок экрана № 1 дает краткое представление о существующей архитектуре.

Existing

Снимок экрана № 2 показывает предлагаемую архитектуру, которая, я надеюсь, поможет в более быстрой разработке, повторном использовании кода / бизнеса а может быть и более простое обслуживание. Пользователи будут обращаться к внешнему или внутреннему URL-адресу. Во внешнем виде пользователи предоставят учетные данные и будут аутентифицированы в настраиваемой базе данных. На внутреннем сайте пользователи будут автоматически входить в систему с использованием проверки подлинности Windows. После создания нескольких примеров мне начал нравиться ASP.NET MVC 3. В нем бизнес-логика отделена от пользовательского интерфейса, и мне также нравятся возможности модульного тестирования.

Вот мои вопросы:

  1. На основе того, что я нашел на в Интернете множественная аутентификация на одном веб-сайте пока невозможна. Насколько я понимаю, мне нужно разместить по одному веб-сайту для каждого типа аутентификации (формы и Windows). Как перенаправить пользователей на общую целевую страницу после аутентификации, чтобы они могли видеть модули (ссылки / меню), к которым им разрешен доступ? Должен ли я публиковать один и тот же кодовый набор (библиотеки DLL и контент) на обоих веб-сайтах?

  2. Кто-нибудь сталкивался с подобной архитектурной проблемой? Если да, не могли бы вы рассказать о проблемах, с которыми вы столкнулись, и о том, как вы их решали? Каковы отраслевые стандарты при разработке приложений такого рода?

  3. Имеет ли предлагаемая архитектура какой-либо смысл или это действительно плохой дизайн? Есть ли какие-либо недостатки в выполнении этого в ASP.NET MVC 3?

Я был бы очень признателен за ваш вклад.

Заранее спасибо.

Suggested

15
задан Joel Coehoorn 20 November 2011 в 01:32
поделиться