1

今天我尝试在 apache 服务器上为 gweb 启用身份验证。单击右上角的注销链接后,我成功通过了身份验证,但无法注销。如果有人遇到同样的问题,请帮助解决这个问题,

认证配置

在 httpd.conf

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authz_user_module modules/mod_authz_user.so

SetEnv ganglia_secret xxxxxxxxxxxxxxxxxxxxxxxxxx

<Files "login.php">
AuthType Basic
AuthName "Ganglia Access"
AuthUserFile "/config/.htpasswd"
Require valid-user
</Files>

<Directory /ganglia/>
AllowOverride AuthConfig
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/config/.htpasswd"
Require valid-user
DirectoryIndex index.html index.php
Options FollowSymLinks +Indexes
Order deny,allow
Allow from all
</Directory>

按照配置将 .htpasswd 放置在适当的位置。

在 conf.php - gweb

$conf['auth_system'] = 'enabled';
$acl = GangliaAcl::getInstance();
$acl->addRole( 'username', GangliaAcl::ADMIN );
4

1 回答 1

0

我已经尝试了所有可能的方法来完全从神经节中注销,但我做不到。因此决定通过错误的用户名和密码来使基本身份验证无效。在 header.tpl 文件中添加了下面的 javascript 方法,在单击注销链接时调用下面的函数。

function logoff() {
try {
     $.ajax({
         url: '/login.php',
         username: 'reset',
         password: 'reset',
         statusCode: { 401: function() { alert('Logged Out') } }
    });
} catch (exception) {
    document.execCommand("ClearAuthenticationCache");
} 
return false;
}
于 2013-09-07T01:46:30.207 回答