#navi(../)
* PHPで認証ユーザ名を取得する方法 [#b792dcda]
ベーシック認証やダイジェスト認証を行った後、認証を行ったユーザのユーザ名(ユーザID)を取得する方法を記します。~
尚、WWWサーバはApacheでOSはLinux(CentOS6)を使用しています。~
また、ベーシック認証、ダイジェスト認証ともに設定済みであるとことを前提に記述しています。
#contents
#htmlinsertpcsp(web-top.html,web-sp.html)
* 関連資料 [#x7ee4390]
-[[Apacheでダイジェスト認証の設定>Apache/ダイジェスト認証の設定]]
-[[Apacheでベーシック認証の設定>Apache/ベーシック認証の設定]]
-[[PHPで認証の種類を取得する方法>PHP/認証の種類を取得する方法]]
* 認証したユーザIDの取得 [#z3f23b7a]
スーパーグローバル変数 $_SERVERのREMOTE_USERに認証したユーザIDが格納されています。
サンプルスクリプトは以下の通りです。
<?php
echo $_SERVER['REMOTE_USER'];
?>
* $_SERVERを一部確認 [#q0a24336]
スーパーグローバル変数 $_SERVERを以下のスクリプトで表示した結果です。
<pre>
<?php
print_r($_SERVER);
?>
</pre>
** Basic認証の$_SERVER値 [#g9dd6333]
Array
(
[HTTP_HOST] => 192.168.56.6
[HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120829 Firefox/10.0.7
<snip>
[REMOTE_USER] => sakura
[AUTH_TYPE] => Basic
<snip>
** Digest認証の$_SERVER値 [#ydc77491]
Array
(
[HTTP_HOST] => 192.168.56.6
[HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120829 Firefox/10.0.7
<snip>
[REMOTE_USER] => sakura
[AUTH_TYPE] => Digest
<snip>
#htmlinsertpcsp(web-btm.html,web-sp.html)