如何使用CherryPy摘要式身份验证获取用户名

时间:2012-09-03 16:37:47

标签: python http authentication cherrypy

我使用内置的摘要式身份验证工具成功运行CherryPy应用程序,并且没有会话支持。现在,我想向某些用户公开其他功能。是否可以从授权系统中获取当前经过身份验证的用户?

3 个答案:

答案 0 :(得分:2)

您可以使用:cherrypy.request.login

引用:

  

在请求处理期间使用身份验证时,会设置此功能   如果失败则为“False”,如果成功则为“用户名”值。   默认的“无”表示没有发生身份验证。

CherryPy中的整个HTTP Basic / Digest身份验证非常好地解释here(不幸的是原始博客不再具有此页面,至少我找不到它 - WayBack Machine拯救)。

答案 1 :(得分:1)

在HTTP请求标头授权中找到编码的用户名。我可以从那里解析它。如果有一个“更好”的地方来获取用户名,我愿意改进!

答案 2 :(得分:0)

这个怎么样......

params  = auth_header.split(" ", 1)
items = parse_http_list(params)
paramsd = parse_keqv_list(items)
username = paramsd.get('username')

http://www.gitorious.org/forban/forban/blobs/1f9aff12551675f7cd8395f8bd0733cfc4c40784/lib/ext/cherrypy/lib/auth_digest.py

当我看到它时,这种方法仍然使用auth标头......

安德鲁