В настоящее время у нас есть много веб-приложений (внешних и внутренних), разработанных с использованием технологий Classic ASP через .NET 2.0. Каждое из этих веб-приложений имеет свой собственный экран входа в систему, аутентифицирующий свою собственную базу данных или проверку подлинности Windows. Пользователи имеют доступ к одному или нескольким из этих приложений, то есть они должны выйти из системы и вернуться в приложения, к которым они хотели бы получить доступ. Все приложения используют часть исходных источников данных. Кроме того, бизнес-логика встроена в пользовательский интерфейс в дополнение к дублированию между приложениями, потому что нет совместного использования кода/бизнес-логики. Скриншот # 1 дает краткое представление о существующей архитектуре.
Снимок экрана # 2 показывает предлагаемую архитектуру, которая, я надеюсь, поможет в более быстрой разработке, повторном использовании кода/бизнеса и может быть упрощенном обслуживании. Пользователи получат доступ к внешнему или внутреннему URL-адресу. На внешнем уровне пользователи будут предоставлять учетные данные и будут аутентифицированы против пользовательской базы данных. На внутреннем сайте пользователи будут автоматически регистрироваться с помощью проверки подлинности Windows. После создания некоторых образцов мне стало нравиться ASP.NET MVC 3. Он сохраняет бизнес-логику отдельно от пользовательского интерфейса, и мне также нравятся возможности модульного тестирования.
Вот мои вопросы:
-
Основываясь на том, что я нашел в Интернете до сих пор, несколько аутентификаций не могут быть реализованы на одном веб-сайте. Я понимаю, что для каждого типа проверки подлинности (форм и Windows) я должен разместить один веб-сайт. Как перенаправить пользователей на общую целевую страницу после их аутентификации, чтобы они могли видеть модули (ссылки/меню), к которым у них есть права доступа? Должен ли я опубликовать тот же набор кодов (dlls и content) на оба веб-сайта?
-
Кто-нибудь сталкивался с подобной проблемой архитектуры? Если да, не могли бы вы рассказать о проблемах, с которыми вы столкнулись, и о том, как вы их решаете? Каковы отраслевые стандарты при разработке приложений такого рода?
-
Предлагает ли предлагаемая архитектура какой-либо смысл или это действительно плохой дизайн? Есть ли недостатки в этом в ASP.NET MVC 3?
Я бы очень признателен за ваши материалы.
Спасибо заранее.