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很长一段时间但是我想念一些东西(也许非常明显)或者它无助。
那么如何注销/注销?
答案 0 :(得分:0)
你必须尝试
function LogOut() {
session_destroy();
session_unset($_SESSION['session_id']);
header("Location: /auth/", TRUE, 301);
}
答案 1 :(得分:0)
一旦没有胶水三周 - 我只是放弃使用mysql_auth_module的好主意并回退到通用身份验证。
如果您有任何想法 - 欢迎您。