樱桃红

2024-04-20 09:34:39 发布

您现在位置:Python中文网/ 问答频道 /正文

快速问题:我用CherryPy创建了一个web服务器。它需要对所有页面进行身份验证,因此我的默认处理程序返回login page对象。由于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.httpedirect和cherrypy.url,但是我还没有找到一种方法可以让它们解决这个问题。

有什么想法吗?

谢谢你!


Tags: 对象服务器身份验证weblocalhosturl处理程序html
1条回答
网友
1楼 · 发布于 2024-04-20 09:34:39

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

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

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

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

相关问题 更多 >