[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация http auth
blondinka
Всем привет.
Делаю авторизацию


function index()
{
//если userid есть переходим на нужную страницу
if ($this->session->userdata('userId'))
{
redirect('account_ag/users/'.$this->session->userdata('userId'));
}
else
{
if (!isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW'])) {
//выводим око авторизации
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo ' Censel';
exit;}
else{

//проверяем есть ли пользователь с такими логином и паролем
$login = $_SERVER['PHP_AUTH_USER'];
$passwd = $_SERVER['PHP_AUTH_PW'];

if ($this->newuser->login($login,$passwd)==true)
{
//такой пользователь есть
redirect('account_ag/users/'.$this->session->userdata('userId'));
}
else {
// если пользователя нет выводим окно авторизации снова
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo ' Censel';
exit;
redirect('account_ag');
}
}
}
}



далее есть функция разлогинивания

function logout($onlyClearSession = false)
{
$this->session->unset_userdata('userId');
$this->session->unset_userdata('userEmail');
$this->session->unset_userdata('userLogin');
$this->session->unset_userdata('userIsAdvanced');
$this->session->unset_userdata('userIsVip');
$this->session->unset_userdata('operId');
$this->session->unset_userdata('opEmail');
$this->session->unset_userdata('isNewUser');
$this->session->unset_userdata('lastAd');
$this->session->unset_userdata('showLanding');
$this->session->unset_userdata('showCategory');
$this->session->unset_userdata('showCamp');
$this->session->unset_userdata('lastCamp');
$this->session->unset_userdata('announce');
$this->session->unset_userdata('demoMode');
$this->session->unset_userdata('ads_in_advanced');
$this->session->unset_userdata('pageMode');
// Ограничение жизни сессии. Используется для автовхода
$this->session->unset_userdata('expired');
if($onlyClearSession)
return;
$sa = new SimpleSAML_Auth_Simple('default-sp');
$sa->logout(site_url());
unset( $_SERVER['PHP_AUTH_USER']);
unset( $_SERVER['PHP_AUTH_PW']);
}


Проблема в том, что пока не закроешь браузер $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW] не очищаются и разлогинивание не срабатывает.

Как можно очистить $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW] ?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.