2016-10-05 6 views
0

을 저런 애 있지 모든 사용자/PWD 창 입력 창에 표시되지HTTP 기본 AUTH 창

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")); 
     } 

내 코드입니다. 나는 브라우저와 서버를 다시 시작했지만 아무런 차이가 없었다. 내가 크롬을 사용하고

업데이트. 나는 창마다 팝업 당신이 사용하고있는 브라우저

+0

로그인 물어 싶어? –

+0

if 조건이 true입니까? 그렇지 않으면 시험해 보셨습니까? –

+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