-2

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

我在文本字段中输入:

$_SESSION['用户名']

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

还有一个下拉框可以选择是使用 Env、CGI 还是两种登录类型。我选择了两者,只是为了安全,直到我知道“Env”配置正确。

保存设置后,我登录到我们的主站点,然后将其打开,直接进入 Bugzilla,产生以下错误:

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

URL:http ://bugs.XXXXXXXXXX.com/admin.cgi Bugzilla 没有收到来自环境的电子邮件地址。这意味着 '$_SESSION['username']' 环境变量为空或不存在。

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

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

我检查了我的 localconfig 文件,它只包含数据库访问凭据。网上有一些关于“数据”目录的讨论,但我似乎没有。有没有人有任何建议我可以如何从中恢复?

4

1 回答 1

1

我通过编辑对我来说位于“/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 页面时自动登录。然后我更正了设置,然后将我更改的文件恢复为原始状态。

于 2013-01-23T05:22:51.433 回答