python - CherryPy 重定向到 root

标签 python redirect cherrypy

快速提问:我使用 CherryPy 创建了一个网络服务器。它需要对所有页面进行身份验证,因此我的默认处理程序返回登录页面对象。由于 CherryPy 处理调度的方式,有人请求:

localhost:80/a/b/c

将被重定向到:

localhost:80/a/b/login

但是,我希望从根级别调用所有未经身份验证的请求,独立于 HTML 请求中添加的潜在附加参数,例如:

localhost:80/a/b/c --> localhost:80/login

目前我正在通过返回一个基于 HTML 的重定向来解决这个问题:

'<meta http-equiv="REFRESH" content="0;url=/login">'

我觉得这是一个非常不干净的解决方案,我宁愿使用基于 CherryPy 的解决方案。我查看了 cherrypy.HTTPRedirect 和 cherrypy.url,但我还没有找到让它们解决这个问题的方法。

有什么想法吗?

谢谢!

最佳答案

您可以使用重定向指定登录页面:raise cherrypy.HTTPRedirect("/auth/login")

但是,请看这里,这里有一个如何编写身份验证例程的示例:

http://tools.cherrypy.org/wiki/AuthenticationAndAccessRestrictions

还有一个示例,说明如何在登录后将用户重定向回请求的页面。

关于python - CherryPy 重定向到 root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030195/

相关文章:

python - 选择 -> 选项抽象

C 重定向指针

http - 如何使喷雾 jar 客户端遵循重定向

python - 检查cherrypy是否处于事件状态

python - 让 CherryPy 在收到键盘中断后立即退出?

python - 在 Python 中创建具有多个操作的函数

Python for 循环变慢并最终挂起

python - CherryPy 和 RESTful 网络 API

python - Keras导入报错Nadam

将历史状态替换为同一路径后,Javascript 使用哈希重定向