Я хочу создать мультитенантный веб-сайт, где каждый арендатор может создавать несколько порталов.
похоже на то, что делает Dotnetnuke.
Я хочу обеспечить гибкую динамическую маршрутизацию (которая может вступить в силу во время выполнения, например,
Я могу добавить арендатора во время выполнения), как описано ниже.
Я также хотел бы разрешить / ограничить арендаторов для определенных модулей (Области (группа контроллеров)
для крупнозернистого контроля доступа или контроллеров для мелкозернистого контроля доступа) и
Контроллеры Действия для лучшего контроля доступа.
Арендатору не принадлежит домен или поддомен - используется имя домена хоста SaaS)
tenant1.saasplatform.com ( implicitly means has /portal0 suffix )
tenant1.saasplatform.com/portal0
tenant1.saasplatform.com/portal1
saasplatform.com/tenant1 ( implicitly means has /portal0 suffix )
saasplatform.com/tenant1/portal0
saasplatform.com/tenant1/portal1
Арендатору принадлежит домен или поддомен)
tenant1.com ( implicitly means has /portal0 suffix )
tenant1.com/portal0
tenant1.com/portal0
tenant1.com ( implicitly means has portal0. prefix )
portal0.tenant1.com
portal1.tenant1.com
Учитывая различные комбинации, я хочу извлечь ключ клиента на основе конфигурации для каждого клиента.
Я также хочу извлечь номер портала (это может быть уникальный номер портала или уникальное имя).
Все после номера портала будет разрешено с помощью нормальных значений маршрутизации {controller}/{action}
tenant1.com[/portal0]
Содержимое «[]» в скобках необязательно, и оно будет рассматриваться как «portal0»
{tenantkey}{portal0}
tenant1.saasplatform.com[/portal0]
{tenantkey}.saasplatform.com}{portal0}
{tenantkey}.othersaasplatform.com}{portal0}
[portal0.]tenant1.com
{portalkey}.{tenantkey}
Некоторые хорошие идеи показаны ниже. Статья довольно старая. Мне было интересно, есть ли что-то новое в MVC 3?
http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx
Специфичные для арендатора маршруты для динамически загружаемых модулей