Многопользовательская аренда в ASP MVC - PullRequest
12 голосов
/ 12 января 2010

Еще один многопользовательский пост, я боюсь. Я просто не могу найти хорошее решение своей проблемы, я прочитал все замечательные посты по мульти-аренде для ASP MVC, но мне все еще нужен хороший совет.

Я собираюсь создать корпоративное присутствие для одного из моих клиентов. Их структура компании похожа на основную компанию (например, Acme Group Ltd.), которой принадлежат несколько других компаний (например, Acme Holding Ltd, Acme Technology Ltd., Acme Maritime Ltd. и др.).

Я хочу использовать один проект ASP MVC в качестве контейнера для всех сайтов, чтобы сократить необходимый код и сохранить его СУХИМЫМ. Я также хочу, чтобы все сайты использовали одну и ту же членскую базу данных.

Моей первой мыслью было создать одну папку контроллеров для каждой дочерней компании и один корневой контроллер для главной корпоративной страницы. Тогда это будет выглядеть так:

acme.com («Корпоративная главная страница»)
acme.com/Holding ("Акме Холдинг Лтд.")
acme.com/Maritme ("Акме Маритм Лтд.")
...

Эта структура мне подходит, но я также хочу, чтобы пользователи веб-сайта имели доступ к каждому суб-сайту на основе своих собственных доменов, например:

holding.acme.com (Это должно быть направлено на "acme.com/Holding").
...

Это, конечно, также работает, но дело в том, что я не хочу, чтобы URL менялся, когда пользователь перенаправляется на "acme.com/Holding". Я хотел бы, чтобы он по-прежнему оставался «holding.acme.com», «holding.acme.com/About», «holding.acme.com/Contact» и т. Д. Вместо «acme.com/Holding/Contact» и т. Д. .

Какую мысль лучше всего использовать в этом конкретном проекте, какие-либо мысли?

Ответы [ 2 ]

6 голосов
/ 13 января 2010

Проще говоря, используйте IIS Модуль перезаписи URL .Вы можете настроить перезапись acme-holding.com/* URL-адресов на acme.com/Holding/*:

<rewrite>
    <rules>
        <rule name="Forward to acme.com">
            <match url=".*" />
            <action type="Rewrite" url="http://acme.com/Holding/{R:0}" />
        </rule>
    </rules>
</rewrite>
1 голос
/ 23 февраля 2010

Я написал блог о мультитенантности, который охватывает именно то, что вы пытаетесь здесь ::1001*

http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...