Ответ 1
- См. ниже.
- Файлы cookie будут наиболее очевидными, а во-вторых, вы можете изменить настройки DNS для субдомена, но не для пути
- Нет
- Частично, см. выше.
Существует несколько способов определения арендатора на уровне HTTP:
Host
Host
,host.com/tenantId/...
Вот ответы на ваши вопросы:
(Sub-) многопользовательская аренда домена хороша, если вы хотите дать пользователю представление о полностью изолированной аренде. Заказчику может потребоваться пользовательская страница приветствия и входа, отдельная пользовательская база и т.д. С другой стороны, многопользовательская аренда на основе маршрутов подходит для пользователей, которые не привязаны к одному пространству имен для арендаторов. Он в основном используется социальными сетями, такими как Facebook, GitHub и т.д.
Домены(Sub-) могут дать вам лучшую защиту от изоляции и безопасности для файлов cookie, совместного использования ресурсов с использованием исходного кода (CORS). Это делает кросс-арендатор CSRF или XSS немного сложнее. Более того, если у вас есть контроль над DNS или Load-balancer, вы можете назначить арендаторов различным IP-адресам (например, гео-маршрутизацию) или различным версиям приложения (например, бета-арендаторам). Вы можете назначить отдельный экземпляр приложения или сервер для ваших самых важных арендаторов. Таким образом, вы получаете дешевый инструмент для контроля риска одиночной точки отказа и всех яиц в одной корзине.
Любая веб-инфраструктура, предоставляющая вам доступ к HTTP-заголовкам (Host
), является поддоменами. Любая серьезная веб-структура MVC должна давать вам субдомен как параметр действия напрямую или плагином.
Это определенно выбор дизайна. Если вы хотите узнать, как лучше всего подумать, какой уровень изоляции вы хотите для своих арендаторов. Если вы решите, но вы обнаружите, что путь не прав, вы можете перейти на другой уровень с помощью перенаправления HTTP 301.