2012-05-04 55 views
0

Apache 2.2,php 5.3如何使用mysql_auth_module註銷?

我可以成功登錄,但我該如何註銷?

在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> 

全成登錄後,阿帕奇將$_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很長一段時間,但無論是我錯過了什麼(也許是很明顯的),也很無奈。

所以,我怎麼能註銷/註銷?

回答

0

了三個星期 - 我只是放棄不錯的主意,用mysql_auth_module並回落到通用auth。

如果您有任何想法 - 你是受歡迎的。

0

必須儘快無膠嘗試

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

要@Darshan:儘管我提到的無奈session_destroy我剛纔試了一次。不起作用。 – Putnik