如何从python访问Apache会话信息

时间:2013-12-09 17:58:58

标签: python apache session

我正在维护一个用python构建的web应用程序。

应用程序的访问控制在Apache层处理(使用Apache htpasswd文件)。

现在,无论是谁使用它,该应用程序的工作方式都相同。该应用甚至不知道谁登录。但现在我需要为应用添加一项功能,该功能需要知道谁登录。

所以问题是:有没有办法访问Apache会话信息,并查看在此会话中记录的用户的用户名?

当然,我可以完全重做安全模型,以便应用程序处理用户登录,但是如果有任何方法可以访问Apache信息,那将为我节省大量工作。

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是基本身份验证,则可以检查Authorization HTTP标头:

>>> request.headers["Authorization"]
'Basic YWRtaW46aHVudGVyMg=='
>>> request.headers["Authorization"].partition(" ")[2].decode("base64")
'admin:hunter2'

或者,您可以检查REMOTE_USER环境变量(虽然这不是保证的设置方式与Authorization标题相同):< / p>

>>> import os
>>> os.environ['REMOTE_USER']
'admin'
相关问题