File_Passwd::staticAuth()

File_Passwd::staticAuth() -- 高速な認証

概要

require_once 'File/Passwd.php';

mixed File_Passwd::staticAuth (string $type, string $file, string $user, string $pass [, mixed $opt = ''])

説明

静的なユーザ認証を行います。

この手法はそれなりに高速に動作します。ただ、MD5 暗号化された htpasswd 形式で使用される APR 互換の MD5 暗号化を使用する場合には そのようにはなりません。

ひとつの MD5 パスワードを生成するには、およそ 0.25 秒かかります!

$opt の内容は、 $type の設定内容によって変わります。

パラメータ

string $type

Unix、Cvs、Smb、Authbasic あるいは Authdigest 。

string $file

パスワードファイルへのパス。

string $user

認証するユーザ名。

string $pass

プレーンテキスト形式のパスワード。

mixed $opt

  • Smb:

    nt | lm

  • Unix:

    des | md5

  • Authbasic:

    des | sha | md5

  • Authdigest:

    ユーザが所属する realm

  • Cvs:

    n/a(空要素)

  • Custom:

    暗号化関数(encryption)および区切り文字 (delimiter)の 2 つの要素をもつ配列

返り値

認証された場合に TRUE 、認証されなかった場合に FALSE 、 認証に失敗した場合には PEAR_Error を返します。

表 43-1PEAR_Error の値

エラーコード概要
FILE_PASSWD_E_NOT_EXISTSパスワードファイルが存在しません。
FILE_PASSWD_E_FILE_NOT_OPENEDパスワードファイルを読み込みモードでオープンできません。
FILE_PASSWD_E_FILE_NOT_LOCKEDパスワードファイルを共有モードでロックできません。
FILE_PASSWD_E_FILE_NOT_UNLOCKEDパスワードファイルのロックを解除できません(認証されなかった場合のみ)。
FILE_PASSWD_E_FILE_NOT_CLOSEDパスワードファイルをクローズできません(認証に失敗した場合のみ)。
FILE_PASSWD_E_UNDEFINEDクラス/ファイルが読み込めません。
FILE_PASSWD_E_INVALID_ENC_MODE指定された暗号化形式はサポートされていません。
FILE_PASSWD_E_USER_NOT_IN_REALMユーザはこの realm に存在しません(File_Passwd_Authdigest のみ)。

注意

この関数は、スタティックにコール されます。