Установка/конфигурация Orchard Multi-Tenancy

Я начинаю экспериментировать с многопользовательскими опциями Orchard, чтобы позволить единой кодовой базе размещать десятки веб-сайтов (возможно, более сотни в будущем). Части, которые мне неясны, это:

  1. Можно ли вызвать одну или несколько конечных точек API для динамического создания этих сайтов из кода на моей стороне? Это означает, что у нас есть существующая кодовая база (не Orchard) в .Net, поэтому какие API я должен вызывать для создания этих сайтов на лету без необходимости входа в систему и выполнения этого вручную?
  2. В сочетании с № 1, есть ли у нас API для создания отдельных пользователей для вновь созданных сайтов, которые имеют предварительно настроенный набор минимальных разрешений (создание контента, работа с мультимедиа, навигация) и блокировки других (настройки, управление пользователями и т. д.)? Наша клиентская база для этого процесса не особенно разбирается в компьютерах, поэтому ограничение того, что они могут сломать, будет иметь большое значение для избавления нашего персонала службы поддержки от необходимости исправлять то, к чему им не следует обращаться с самого начала.
  3. Есть ли способ обработки единого входа на этих мультитенантных сайтах? Трудная часть здесь будет заключаться в том, что наш сайт полагается на переменные сеанса для доступа (это гибрид классического ASP и .Net, который я пытаюсь модернизировать, но должен оставить такие вещи, как сеанс, чтобы все старые вещи работали)? Я предполагаю, что это приведет к созданию модуля, но знаю, что это довольно сложный процесс, поэтому я стараюсь избегать его, если это возможно.

Заранее спасибо!


person Scott Salyer    schedule 05.06.2014    source источник


Ответы (1)


  1. Да, но Orchard нелегко интегрировать в существующие приложения. dotNest — это пример динамически создаваемых сайтов Orchard: http://dotnest.com/knowledge-base/topics/lombiq-hosting-suite
  2. да. Пользователи могут быть созданы из кода, и вы можете назначить им ограниченные разрешения, самый простой способ сделать это — создать группу с этим набором разрешений и поместить этих пользователей в эту группу. Все это можно сделать из кода.
  3. Просто используйте oAuth, как и весь остальной мир.
  4. Просто забудьте об интеграции Orchard в существующее приложение. Особенно классический ASP ;) Пора двигаться дальше.
person Bertrand Le Roy    schedule 05.06.2014
comment
Отлично, спасибо. Что касается № 3, это запланировано для новых объектов, но мы далеки от поддержки этого процесса. Существует более 4000 физических страниц, разбросанных по тысячам папок - некоторые из них используются, некоторые нет, некоторые новые (например, aspx или asp) перенаправляются на страницы asp и т. д. Это кошмар. Я определенно пытаюсь модернизировать это, но это масштабный проект. И последний вопрос: если я создам новое определение содержимого в основной установке, как оно будет распространено среди различных арендаторов? Учитывая, сколько их у нас сейчас, ручное управление было бы сложной задачей для новых функций. - person Scott Salyer; 06.06.2014
comment
Вам нужно будет экспортировать рецепт (используя экспорт метаданных из импорта/экспорта), а затем использовать его как часть рецепта, создающего новые сайты. Рецепты также можно запускать из командной строки, если вам нужно выполнить это распространение после создания сайтов. - person Bertrand Le Roy; 06.06.2014
comment
Хорошо спасибо. Я собираюсь сначала изучить создание модуля для этого, так как прошлой ночью я нашел пример одного, который создает типы контента на лету. Поскольку теперь мне все равно нужно построить модуль для одной вещи, вместо этого я просто сделаю его всеобъемлющим. Еще раз спасибо всем за помощь! - person Scott Salyer; 06.06.2014