def __init__(self):
super(self.__class__,self).__init__()
connect()
+ self._cp_config['tools.require_login.on'] = True
@cherrypy.expose
+ @cherrypy.tools.mako(filename="/list.mako")
+ def list(self, username):
+ """Handler for list requests."""
+ checkpoint.checkpoint('Getting list dict')
+ d = getListDict(username, state)
+ checkpoint.checkpoint('Got list dict')
+ return templates.list(searchList=[d])
+ index=list
+
+ @cherrypy.expose
+ @cherrypy.tools.mako(filename="/helloworld.mako")
def helloworld(self):
- return "Hello world!"
+ return {}
+ return "Hello world!\nYour request: "+repr(dir(cherrypy.request))
+ helloworld._cp_config['tools.require_login.on'] = False
def pathSplit(path):
if path.startswith('/'):
can_clone=can_clone)
return d
-def listVms(username, state, path, fields):
- """Handler for list requests."""
- checkpoint.checkpoint('Getting list dict')
- d = getListDict(username, state)
- checkpoint.checkpoint('Got list dict')
- return templates.list(searchList=[d])
-
def vnc(username, state, path, fields):
"""VNC applet page.
"""Throw an error, to test the error-tracing mechanisms."""
raise RuntimeError("test of the emergency broadcast system")
-mapping = dict(list=listVms,
+mapping = dict(#list=listVms,
vnc=vnc,
command=command,
modify=modify,
cherrypy.tools.jsonify = cherrypy.Tool('before_finalize', jsonify_tool_callback, priority=30)
+def external_remote_user_login():
+ pass
+
+def require_login():
+ """If the user isn't logged in, raise 403 with an error."""
+ if cherrypy.request.login is False:
+ raise cherrypy.HTTPError(403,
+ "You are not authorized to access that resource")
+
+cherrypy.tools.require_login = cherrypy.Tool('on_start_resource', require_login)
+
class View(object):
_cp_config = {'tools.mako.directories': [os.path.join(os.path.dirname(__file__),'templates')]}