2013-08-30 4 views
0

Я создал флеш-приложение, размещенное в App Engine, использовал сопоставление поддоменов подстановки и поддержку пространства имен, поддерживаемую App Engine, чтобы приложение было подано из любого субдомена. Все работает нормально.Служить различным приложениям на конкретном субдомене в многопользовательской системе

Теперь я хочу сделать один из поддоменов, скажем admin.domain.com, чтобы обрабатывать некоторые связанные с администратором действия. Все остальные субдомены указывают на обычное приложение.

Когда незарегистрированный пользователь посещает company.domain.com, он должен быть перенаправлен на admin.domain.com, где он зарегистрируется, после его выполнения он автоматически вернется на company.domain.com.

Как сопоставить приложение администратора с конкретным поддоменом? Есть ли способ сделать это с помощью Flask или App Engine? Если это невозможно, как справиться с этим сценарием?

Это первый раз, когда я создаю такое приложение.

Спасибо ..

ответ

1

Я не уверен, о семантике, когда вы используете слово «приложение». В строгом смысле GAE приложения полностью разделены, каждый из которых имеет свой собственный биллинг и хранилище данных и т. Д.

Если вы строго хотите, чтобы приложение администратора было отдельным приложением, вы не можете использовать сопоставление поддоменов подстановочных знаков. Вам нужно вручную сопоставить каждый поддомен с помощью настроек администратора App Engine для сопоставления доменов. Вы можете сопоставить admin.domain.com с вашим админ-приложением и вручную сопоставить другие поддомены с обычным приложением.

Если вы просто говорите о отдельной функции администратора, которая работает в том же приложении, и вы не настроены строго с использованием admin.domain.com, лучший способ - это, вероятно, использовать функциональность новых модулей и создать 'admin' в качестве отдельного модуля и используйте dispatch.yaml для маршрутизации к нему: https://developers.google.com/appengine/docs/python/modules/routing

В противном случае Flask/GAE на самом деле не обеспечивают встроенный механизм для этого. Вам нужно будет сделать что-то грязное, например, проверить URL-адрес в каждом обработчике запросов и действовать соответствующим образом, если это admin.

+0

Спасибо за ответ. Да .. Я хотел избежать проверки URL-адреса в каждом запросе, ища какой-то встроенный механизм. Я думал о том, чтобы делать то же самое, что вы упомянули во втором абзаце. Я не знаю о функциональности нового модуля, посмотрю на него. – rajpy

+0

На самом деле, с dispatch.yaml вы должны иметь возможность маршрутизировать admin.domain.com в свой модуль администратора, так что это, вероятно, лучший способ пойти за вами. – dragonx

+0

Я проходил через это, попробую. Благодарю. – rajpy

Смежные вопросы