【问题标题】:How to get username with CherryPy digest authentication如何通过 CherryPy 摘要认证获取用户名
【发布时间】:2012-09-03 16:37:46
【问题描述】:

我有一个 CherryPy 应用程序使用内置的摘要身份验证工具成功运行,但不支持会话。现在,我想向某些用户公开附加功能。是否可以从授权系统中获取当前认证的用户?

【问题讨论】:

    标签: python http authentication cherrypy


    【解决方案1】:

    您可以使用:cherrypy.request.login

    引用:

    在请求处理过程中使用身份验证时,此设置 如果失败,则为“False”,如果成功,则为 “用户名” 值。 默认的“无”表示未进行任何身份验证。

    CherryPy 中的整个 HTTP Basic / Digest 身份验证都很好地解释了here(不幸的是,原始博客不再提供此页面,至少我找不到它 - WayBack Machine 来救援)。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        这个怎么样...

        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 标头...

        安德鲁

        【讨论】:

        • 不出所料,我收到一条错误消息,告诉我我没有会话。您引用的代码包括其自己开发的身份验证系统(并使用会话);我正在尝试使用cherrypy.lib.auth_digest。
        猜你喜欢
        • 1970-01-01
        • 2017-10-12
        • 2012-07-18
        • 2015-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-24
        相关资源
        最近更新 更多