#navi(../)
* PHPで認証ユーザ名を取得する方法 [#k1c892fc]
ベーシック認証やダイジェスト認証を行った後、認証を行ったユーザのユーザ名(ユーザID)を取得する方法を記します。~
尚、WWWサーバはApacheでOSはLinux(CentOS6)を使用しています。~
また、ベーシック認証、ダイジェスト認証ともに設定済みであるとことを前提に記述しています。

#contents
#htmlinsertpcsp(ll-top.html,ll-sp.html)

* 関連資料 [#u114275b]
-[[PHPで認証の種類を取得する方法>PHP/サンプル/認証の種類を取得する方法]]

[[WEB.JUST4FUN.BIZ>http://web.just4fun.biz/]]の記事
-[[Apacheでダイジェスト認証の設定>http://web.just4fun.biz/Apache/%E3%83%80%E3%82%A4%E3%82%B8%E3%82%A7%E3%82%B9%E3%83%88%E8%AA%8D%E8%A8%BC%E3%81%AE%E8%A8%AD%E5%AE%9A.html]]
-[[Apacheでベーシック認証の設定>http://web.just4fun.biz/Apache/%E3%83%99%E3%83%BC%E3%82%B7%E3%83%83%E3%82%AF%E8%AA%8D%E8%A8%BC%E3%81%AE%E8%A8%AD%E5%AE%9A.html]]

* 認証したユーザIDの取得 [#w9079421]
スーパーグローバル変数 $_SERVERのREMOTE_USERに認証したユーザIDが格納されています。
サンプルスクリプトは以下の通りです。
 <?php
 echo $_SERVER['REMOTE_USER'];
 ?>

* $_SERVERを一部確認 [#ed19544f]
スーパーグローバル変数 $_SERVERを以下のスクリプトで表示した結果です。
 <pre>
 <?php
  print_r($_SERVER);
 ?>
 </pre>

** Basic認証の$_SERVER値 [#c931bca4]

 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値 [#y38f4759]
 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(ll-btm.html,ll-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS