0

Apache 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

3週間接着剤がなくなるとすぐに-mysql_auth_moduleを使用して、汎用認証にフォールバックするという素晴らしいアイデアを破棄します。

何かアイデアがあれば、大歓迎です。

于 2012-05-28T10:44:39.987 に答える
0

あなたは試してみる必要があります

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