Можно ли использовать одну кодовую базу для субдомена для нескольких сайтов? - PullRequest
0 голосов
/ 30 марта 2012

Я даже не знаю, возможно ли это, но я решил спросить.

Я создаю небольшое приложение CRUD, но у меня есть несколько сайтов.Каждый сайт будет использовать CRUD.Приложение будет иметь общие методы и стиль CRUD, но каждый отдельный сайт будет применять разные формы.Я хочу избежать создания нескольких CRUD-приложений, которые различаются только по конкретному контенту (только в разных формах).

Я хочу иметь что-то вроде этого:

mycrud.website1.com
mycrud.website2.com
mycrud.website3.com

Я могу создать поддомен для каждогос отдельным сайтом проблем нет.Но возможно ли указать все субдомены в одном каталоге приложений MVC?И если это возможно, какие-либо предложения о том, как я могу запретить пользователям сайта website1 просматривать содержимое website2 или website3?Это что-то «роли» может позаботиться (после аутентификации пользователя)?

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Есть много сайтов, которые делают это, не только с MVC.Некоторые фермы содержимого указывают * .mydomain.com на один IP-адрес и имеют в IIS сопоставление с подстановочными знаками.

Оттуда ваше приложение должно просмотреть URL-адрес, чтобы определить, что оно должно делать.Некоторые системы CMS работают таким образом, используя домен в качестве ключа к решению, какие страницы загружать.

Я создал частное лабильное приложение SAS (Программное обеспечение как услуга), которое позволяет нам размещать все нашиклиенты в одном приложении.Некоторые клиенты имеют настройки для страниц или функций.Мы можем справиться с этим, создавая собственные плагины для каждого клиента, которые переопределяют Контроллеры или Представления, когда это необходимо.

Все клиенты имеют общую кодовую базу и, кроме пользовательских тем / шаблонов каждого клиента, они одинаковы,Только тогда, когда клиент заставил нас настроить одну функцию, нам нужно было создать их плагин DLL.Теперь это продвинутый материал, поэтому он потребует серьезных изменений в вашей кодовой базе, но, в конце концов, если это то, что нужно вашему приложению, это на 100% возможно.

0 голосов
/ 30 марта 2012

Во-первых, проще всего иметь один веб-сайт для всех трех доменов. Вы можете сделать это просто с помощью записей DNS. Нет проблем. Все три домена должны указывать на один и тот же ip.

Что касается контента, вы можете сделать это несколькими способами. Я думаю, что ваше представление о ролях довольно солидно. Также остается открытым возможность того, что данный пользователь увидит контент как с site1, так и с site2, если это когда-нибудь понадобится.

Если вы не хотите заставлять пользователей проходить аутентификацию, вам следует поискать другие варианты. Вы можете объединить свою логику CRUD и логику доступа к данным в отдельные библиотеки и использовать их на трех разных сайтах в IIS. Вы можете иметь один сайт и отображать контент на основе URL-адреса запроса. Там, вероятно, также много других вариантов.

...