0

阿帕奇 2.2,PHP 5.3

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

在 Apache 配置中:

<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很长一段时间,但要么我错过了一些东西(也许非常明显),要么就是无能为力。

那么我该如何注销/注销?

4

2 回答 2

0

你一定要试试

function LogOut() {
    session_destroy();
    session_unset($_SESSION['session_id']);
    header("Location: /auth/", TRUE, 301);   
}
于 2012-05-04T07:25:54.323 回答
0

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

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

于 2012-05-28T10:44:39.987 回答