Did you look into multi tenancy in web2py?

You can use routes to map the domain into applications but do not use it to 
map domains. Use multi tenancy to have different domains map into different 
slices of the database with their own permissions.

On Wednesday, 15 April 2015 08:00:35 UTC-5, Lisandro wrote:
>
> I have multiple domains with multiple applications. I've gotten it to work 
> using routes.py, with both approaches: parameter-based and pattern-based 
> system. However, there's a couple of things that still I can't achieve.
>
>
> 1) Two applications per each domain
> In my case, each domain serves two applications: the main one, and a 
> second one. I need the main one to be accessible through / url. And I need 
> the second one to be accessible through an url that  is different to the 
> application name. To clarify:
>
>   *http://site1.dev <http://site1.dev>*            ----> should serve 
> *site1* app
>   *http://site1.dev/panel <http://site1.dev/panel>*  ----> should serve 
> *panel1* app
>
>   *http://site2.dev <http://site2.dev>*            ----> should serve 
> *site2* app
>   *http://site2.dev/panel <http://site2.dev/panel>*  ----> should serve 
> *panel2* app
>
> Notice that every domain should have the /panel url pointing to the 
> corresponding application (panel1, panel2, etc). 
>
>
> 2) Restrict access to specific application according the domain
> Whether is parameter-based or pattern-based system, all domains endup 
> having access to all applications, for example, http://site1.dev/site2/ 
>  is showing site2 application. But I would like that the domain 
> *site1.dev* can only access the applications site1 and panel1, and 
> nothing else.
>
>
>
> What have I achieved so far? 
>
> ------------ routes.py using parameter-based system -----------------
> # -*- coding: utf-8 -*-
>
> routers = dict(BASE = dict(\
>     domains = {\
>       'site1.dev':'site1', \
>       'site2.dev':'site2', \
>     }))
>
>
> This approach is working, however I don't know how to make */panel* url 
> to serve *panel1* application. Also, the problem of the point 2 remains: 
> all domains can access all applications.
>
>
> ------------ routes.py using pattern-based system -----------------
> # -*- coding: utf-8 -*-
>
> routes_in = (
>     ('.*http://site1.dev.* /*', '/site1'),
>     ('.*http://site2.dev.* /*', '/site2'))
>
>
> In this case, in addition to the aforementioned problems, I see an error 
> on every url that is not default/index. That is, http://site1.dev/ shows 
> the default/index, but if I click, let's say, on the register url, the 
> browser attempts to load site1.dev/site1/default/user/register but I 
> receive an "invalid function" error.
>
>
> At this point, I'm a bit lost. I'm using nginx, and I asume all this could 
> be done through nginx's rewrite module (however I would like to keep it 
> inside web2py, for portability reasons).
> Also, I must say I've never worked with regular expressions, and in 
> addition, as you can see, this scenario is a little bit different than the 
> classic one-app-per-domain. 
>
> So, I would really appreciate any advice or help on this. 
>
> P/S: if someone feels sufficiently trained to resolve the situation, 
> please contact me by private, I'm willing to spend some money to resolve 
> this situation in a professional manner.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to