2016-10-05 5 views
0

Это мой кодHttp Basic AUTH Window не внезапные вверх

if (!($_SERVER['PHP_AUTH_USER'] == 'admin' && $_SERVER['PHP_AUTH_PW'] == 'admin')) { 
      header('WWW-Authenticate: Basic realm="Protected"'); 
      header('HTTP/1.0 401 Unauthorized'); 
      return new JsonResponse(array('error' => "Unauthorized: appel non authentifié ou détails d'authentification non valides")); 
     } 

Это не отображается окно для ввода пользователя/PWD окна на всех. Я перезапустил браузер и сервер, но никакой разницы.

Update

Я использую Chrome. Я хочу, чтобы он всплывает окно каждый раз, и спросить Вход

+0

Какой браузер вы используете? –

+0

Является ли ваше условие if истинным. Или вы пробовали, если? –

+0

Вы проверили фактический ответ, отправленный вашим сервером? Действительно ли отправляется код состояния '401', или он не выводится или каким-то образом переопределяется вашим веб-сервером? – deceze

ответ

0

<?php 
 
if (!isset($_SERVER['PHP_AUTH_USER'])) { 
 
    header('WWW-Authenticate: Basic realm="My Realm"'); 
 
    header('HTTP/1.0 401 Unauthorized'); 
 
    echo 'Text to send if user hits Cancel button'; 
 
    exit; 
 
} else { 
 
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; 
 
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>"; 
 
} 
 
?>

+0

Спасибо, я знаю, что, когда он вошел в систему, независимо от того, что вы делаете, он никогда не показывает снова. Вопрос обновлен – Volatil3

+0

Вы пытались отключить имя пользователя и пароль? http://php.net/manual/en/function.unset.php –

+0

Вы имеете в виду отключение '$ _SERVER ['PHP_AUTH_USER']'? – Volatil3