2014-03-01 5 views
0

htpasswd 프로세스를 통해 성공적으로 인증 된 사용자의 사용자 이름을 가져 와서 세션 변수에 넣을 수 있습니까?로그인 사용자 이름 얻기

User: mave Pass: mave123

성공적인 로그인 : 세션 'MAVE'를 쓰기?

+0

왜 HTTP 인증에 대한 문서를 확인하지 않았다? http://www.php.net/manual/en/features.http-auth.php –

+0

나는 어디를 봐야할지조차 몰랐다. – Mave

답변

2

htaccess로 만들거나 PHP 세션을 채울하지만 당신은 얻을 수 없습니다 당신의 PHP 코드에서

$_SERVER['PHP_AUTH_USER'] 

값을 세션에 저장합니다.

2

$_SERVER['PHP_AUTH_USER']을 시도해 볼 수는 있지만 PHP가 트리거하지 않았기 때문에 htaccess와 함께 작동하는지 모르겠습니다.

1

다른 사용자가 이미 대답 했으므로 $_SERVER['PHP_AUTH_USER']을 사용하여 사용자를 참조 할 수 있습니다. 그러나 PHP가 CGI 모드에서 실행 중이면 실패 할 수 있습니다. CGI 모드에서 사용자/패스 서버 변수를 설정하려면; 당신의 다음 인증 디렉토리 추가 : PHP에서 지금

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L] 
</IfModule> 

을, 당신은 사용할 수 있습니다

if(preg_match('/Basics+(.*)$/i', $_SERVER['REMOTE_USER'], $matches)) { 
    list($name, $password) = explode(':', base64_decode($matches[1])); 
    $_SERVER['PHP_AUTH_USER'] = strip_tags($name); 
    $_SERVER['PHP_AUTH_PW'] = strip_tags($password); 
} 
관련 문제