gpt4 book ai didi

javascript - 如何使用 cgi python 脚本获取基本身份验证用户名?

转载 作者:行者123 更新时间:2023-11-30 20:54:39 25 4
gpt4 key购买 nike

首先让我说我是一家大公司的工程师,而不是程序员,所以如果我跑题了,我很抱歉。这个问题真的很难用谷歌搜索答案,这通常意味着我问的问题很糟糕。因此,如果您允许,我将尝试回应用户以寻求解决方案。

我还标记了多种语言,因为我不确定这是 javascript 解决方案还是 python 解决方案。我道歉。

基本上,当用户填写表单时,它会运行一个将信息存储到数据库的 python cgi 脚本。我想自动写入用户名,这样用户就不必手动填写(不是为了安全,只是为了方便使用)

我的程序在 apache RedHat 服务器上,在/etc/httpd/conf 中我将以下内容放入我的 httpd.conf 文件中:

<Directory /var/www/html/program>
##### LDAP Login #######################
AuthType Basic
AuthName "ProbeEng Webserver: Enter Your BIGCOMPANY Username and Password"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap.city.bigcompany.com/ou=mtworkers,o=bigcompany.com?uid"

##### Require Authentication
Require valid-user

Order deny,allow
Allow from all

</Directory>

当用户访问我的程序时,他们需要输入他们的 BIGCOMPANY 用户名和密码。我怎样才能将该用户名发送到我的 python cgi 脚本。他们启动表单的程序也是一个生成 html 的 python cgi 脚本。

我尝试了以下方法:

try:
username = getpass.getuser()

但这似乎行不通。

这在使用 cgi 脚本时是否可行,如果可以,我该如何访问用户的用户名?

谢谢

最佳答案

如果网络服务器对用户进行了身份验证,通常用户名会出现在 header 中,并且会作为环境变量出现在 Python CGI 脚本的 os.environ 中。通常,此 header 名称为 REMOTE_USER

您可以尝试打印所有环境变量,看看那里有什么。

import os
for key, value in os.environ.items():
print(key, value)

一旦您知道要查找的 key (可能是 'REMOTE_USER'),就可以像这样检索它

import os
username = os.environ.get('REMOTE_USER')

尽管如此,CGI 模块可能不是您希望运行此应用程序的方式。每个请求都会产生一个新进程,如果流量很大,很快就会成为该服务器的负担。

关于javascript - 如何使用 cgi python 脚本获取基本身份验证用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47805239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com