Fix the unauthenticated web interface.
authorEvan Broder <broder@mit.edu>
Sun, 20 Dec 2009 21:03:12 +0000 (16:03 -0500)
committerEvan Broder <broder@mit.edu>
Sun, 20 Dec 2009 21:03:12 +0000 (16:03 -0500)
Separate the separate components of the web app by the authenticated
webapp class at /auth and the unauthenticated app at /unauth.

These are purely internal URLs, but used to allow a single CherryPy
instance to serve both the authenticated and unauthenticated website.

svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2728

code/main.fcgi
files/etc/apache2/sites-available/default.mako
files/etc/apache2/sites-available/ssl.mako

index fa2681a..b20cfeb 100755 (executable)
@@ -30,17 +30,25 @@ if __name__ == "__main__":
         dev = True
     else:
         conf_file = os.path.join(base_dir, 'main.conf')
         dev = True
     else:
         conf_file = os.path.join(base_dir, 'main.conf')
-    app = cherrypy.tree.mount(InvirtWeb(),
-        '/',
-        {'/':      {'tools.staticdir.root': static_dir,
-                    'tools.invirtwebstate.on': True},
-        '/static': {'tools.staticdir.on': True,
-                    'tools.staticdir.dir': static_dir}
-         })
-    app.merge(conf_file)
+
+    app_config = {
+        '/': {
+            'tools.invirtwebstate.on': True,
+            },
+        '/static': {
+            'tools.staticdir.root': static_dir,
+            'tools.staticdir.on': True,
+            'tools.staticdir.dir': static_dir,
+            }
+        }
+                    
+    authApp = cherrypy.tree.mount(InvirtWeb(),
+                                  '/auth',
+                                  app_config)
+    authApp.merge(conf_file)
     unauthApp = cherrypy.tree.mount(InvirtUnauthWeb(),
                                     '/unauth',
     unauthApp = cherrypy.tree.mount(InvirtUnauthWeb(),
                                     '/unauth',
-                                    {'/': {'tools.invirtwebstate.on': True}})
+                                    app_config)
     unauthApp.merge(conf_file)
     cherrypy.config.update(conf_file)
 
     unauthApp.merge(conf_file)
     cherrypy.config.update(conf_file)
 
index 8ac6fb7..7ec0903 100644 (file)
@@ -23,7 +23,7 @@ NameVirtualHost *:80
        RewriteRule ^/trac(.*) ${tracuri}$1 [R,L]
        RewriteRule ^/invirt - [L]
        RewriteRule ^/kill.cgi - [L]
        RewriteRule ^/trac(.*) ${tracuri}$1 [R,L]
        RewriteRule ^/invirt - [L]
        RewriteRule ^/kill.cgi - [L]
-       RewriteRule ^/(.*) /var/www/invirt-web/main.fcgi/$1 [L]
+       RewriteRule ^/(.*) /var/www/invirt-web/main.fcgi/unauth/$1 [L]
 
        ErrorLog /var/log/apache2/error.log
 
 
        ErrorLog /var/log/apache2/error.log
 
index be558e0..009b412 100644 (file)
@@ -26,7 +26,7 @@ ${caller.body()}
        RewriteRule ^/admin/static(.*) /static/$1 [L]
        RewriteRule ^/trac(.*) ${tracuri}$1 [R,L]
        RewriteRule ^/kill.cgi - [L]
        RewriteRule ^/admin/static(.*) /static/$1 [L]
        RewriteRule ^/trac(.*) ${tracuri}$1 [R,L]
        RewriteRule ^/kill.cgi - [L]
-       RewriteRule ^/(.*) /var/www/invirt-web/main.fcgi/$1 [L]
+       RewriteRule ^/(.*) /var/www/invirt-web/main.fcgi/auth/$1 [L]
 
        RewriteLog /var/log/apache2/rewrite.log
        RewriteLogLevel 0 
 
        RewriteLog /var/log/apache2/rewrite.log
        RewriteLogLevel 0