PHP_AUTH_USER isn't available when using php as cgi

This commit is contained in:
Nicolas Lœuillet 2013-12-23 09:09:10 +01:00
parent a0aa150418
commit 1810c13b55
2 changed files with 22 additions and 9 deletions

View File

@ -446,7 +446,7 @@ class Poche
$themes = $this->getInstalledThemes();
$languages = $this->getInstalledLanguages();
$token = $this->user->getConfigValue('token');
$http_auth = (isset($_SERVER['PHP_AUTH_USER']))?true:false;
$http_auth = (isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['REMOTE_USER'])) ? true : false;
$tpl_vars = array(
'themes' => $themes,
'languages' => $languages,
@ -649,14 +649,18 @@ class Poche
* it redirects the user to the $referer link
* @return array
*/
private function credentials() {
if(isset($_SERVER['PHP_AUTH_USER'])) {
return array($_SERVER['PHP_AUTH_USER'],'php_auth');
}
if(!empty($_POST['login']) && !empty($_POST['password'])) {
return array($_POST['login'],$_POST['password']);
}
return array(false,false);
private function credentials() {
if(isset($_SERVER['PHP_AUTH_USER'])) {
return array($_SERVER['PHP_AUTH_USER'],'php_auth');
}
if(!empty($_POST['login']) && !empty($_POST['password'])) {
return array($_POST['login'],$_POST['password']);
}
if(isset($_SERVER['REMOTE_USER'])) {
return array($_SERVER['REMOTE_USER'],'http_auth');
}
return array(false,false);
}
/**

View File

@ -100,6 +100,15 @@ if (Session::isLogged()) {
$tpl_file = Tools::getTplFile('login');
$tpl_vars['http_auth'] = 1;
}
} elseif(isset($_SERVER['REMOTE_USER'])) {
if($poche->store->userExists($_SERVER['REMOTE_USER'])) {
$poche->login($referer);
} else {
$poche->messages->add('e', _('login failed: user doesn\'t exist'));
Tools::logm('user doesn\'t exist');
$tpl_file = Tools::getTplFile('login');
$tpl_vars['http_auth'] = 1;
}
} else {
$tpl_file = Tools::getTplFile('login');
$tpl_vars['http_auth'] = 0;