如何使用mysql_auth_module注销?

时间:2012-05-04 06:38:16

标签: php authentication authorization

Apache 2.2,php 5.3

我可以成功登录,但如何注销?

在apache config中:

<Directory /www/domain.com/adm>
    AuthName "MySQL group authenticated zone"
    AuthType Basic

    AuthMYSQLEnable on
    AuthMySQLUser user
    AuthMySQLPassword password
    AuthMySQLDB dbname
    AuthMySQLUserTable users
    AuthMySQLNameField email
    AuthMySQLPasswordField pass
    AuthMySQLGroupField group
    AuthMySQLUserCondition " status='on'"
</Directory>

成功登录后,apache设置$_SERVER[PHP_AUTH_USER],但无法更改/取消设置此值;

apache_setenv('PHP_AUTH_USER', '');session_destroy();也不起作用;

Header("HTTP/1.0 401 Unauthorized");没有做任何事情,至少对我的FF12而言;

如果我使用401发出另一个身份验证请求:

Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");

它会生成登录表单,但我只想将用户重定向到/ adm 之外,而再次要求输入密码!

我正在阅读http://www.php.net/features.http-auth很长一段时间但是我想念一些东西(也许非常明显)或者它无助。

那么如何注销/注销?

2 个答案:

答案 0 :(得分:0)

你必须尝试

function LogOut() {
    session_destroy();
    session_unset($_SESSION['session_id']);
    header("Location: /auth/", TRUE, 301);   
}

答案 1 :(得分:0)

一旦没有胶水三周 - 我只是放弃使用mysql_auth_module的好主意并回退到通用身份验证。

如果您有任何想法 - 欢迎您。