Bugzilla:在管理页面中设置时,“auth_env_email”变量存储在哪里


Bugzilla: Where is the 'auth_env_email' variable stored when set in the admin page?

使用管理页面,我设置了一个选项,允许用户在我们的主站点上运行会话时跳过登录。至少,这是我对设定的理解。不幸的是,我无法再访问管理页面来检查设置的确切名称。

我在文本字段中输入:

$_SESSION["用户名"]

我这样做是因为这是我们主站点上用于电子邮件地址的会话变量的名称。

还有一个下拉框来选择是否使用Env,CGI或两种类型的登录。我选择了两者,只是为了安全起见,直到我知道"Env"配置正确。

保存设置后,我登录了我们的主站点,然后将其保持打开状态,直接转到Bugzilla,这产生了以下错误:

Bugzilla遇到了一个内部错误。请保存此页面并将其发送给 it@XXXXXXXXXX.com,其中包含您在此消息出现时正在执行的操作的详细信息。

网址: http://bugs.XXXXXXXXXX.com/admin.cgiBugzilla 没有收到来自环境的电子邮件地址。这意味着"$_SESSION["用户名"]"环境变量为空或不存在。

然后我尝试转到标准登录页面,但遇到了相同的错误。

接下来,我尝试在文件系统和数据库中找到字符串"$_SESSION['用户名']",但找不到它。

我检查了我的本地配置文件,它只包含数据库访问凭据。网上有一些关于"数据"目录的讨论,但我似乎没有。有人对我如何从中恢复有任何建议吗?

我通过编辑对我来说位于"/usr/share/bugzilla/Bugzilla/Auth/Login/Env.pm"的文件来解决这个问题。

我在下面添加了一行:

my $env_email = 'peter@XXXXXXX.com';

紧跟在说:

my $env_realname = $ENV{Bugzilla->params->{"auth_env_realname"}} || '';

(使用您自己的电子邮件地址,该地址已在Bugzilla中注册)

然后我保存了文件,并在刷新 bugzilla 页面时自动登录。然后,我更正了设置,然后将我更改的文件恢复到原始状态。