Я реализую мультитенантное приложение RoR. Арендаторы идентифицируются с использованием первого сегмента пути в качестве идентификатора клиента вместо поддоменов. Насколько я понимаю, getsatisfaction.com реализует этот вид многопользовательской маршрутизации. Пример:
http://myapp.com/tenant1/resource вместо http://tenant1.myapp.com, http://tenant2.myapp.com
Я хочу реализовать следующее поведение маршрутизации
get the tenant part from myapp.com/segement1/resource
if [segment1] has an entry in our db as a tenant
then set base_url as [http://myapp.com/segment1], and do the route lookup for /resource
else
set base_url as [http://myapp.com/] and do the route lookup for /segment1/resource
Для иллюстрации
http://myapp.com/login will not match any tenant, hence will login to the site
http://myapp.com/org1/tasks will match a tenant named org1, get the 'tasks' of org1
http://myapp.com/tasks will not many any tenant, get the task of all orgs
Я пытался прочитать RoR rout.rb, переписать URL, apache, но не смог найти лучший способ сделать это Любые указатели о том, как реализовать это?