Mup*_*pet 7 python redirect cherrypy
快速问题:我使用CherryPy创建了一个Web服务器.它需要对所有页面进行身份验证,因此我的默认处理程序返回登录页面对象.由于CherryPy处理调度的方式,有人请求:
localhost:80/a/b/c
Run Code Online (Sandbox Code Playgroud)
将被重定向到:
localhost:80/a/b/login
Run Code Online (Sandbox Code Playgroud)
但是,我希望从根级别调用所有未经身份验证的请求,与HTML请求中添加的潜在附加参数无关,eG:
localhost:80/a/b/c --> localhost:80/login
Run Code Online (Sandbox Code Playgroud)
目前我通过返回基于HTML的重定向来解决这个问题:
'<meta http-equiv="REFRESH" content="0;url=/login">'
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个非常不干净的解决方案,而宁愿使用基于CherryPy的解决方案.我查看了cherrypy.HTTPRedirect和cherrypy.url,但我还没有找到办法让它们解决这个问题.
有什么想法吗?
谢谢!
dce*_*chi 21
您可以使用重定向指定登录页面: raise cherrypy.HTTPRedirect("/auth/login")
但是,看看这里,有一个如何编写身份验证例程的示例:
http://tools.cherrypy.org/wiki/AuthenticationAndAccessRestrictions
还有一个示例说明如何在登录后将用户重定向到请求的页面.