File_Passwd::staticAuth

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

Synopsis

require_once 'File/Passwd.php';

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

Description

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

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

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

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

  • Smb:

    • 暗号化方式(NT あるいは LM)
  • Unix:

    • 暗号化方式(des あるいは md5)
  • Authbasic:

    • 暗号化方式(des、sha あるいは md5)
  • Authdigest:

    • ユーザの所属する realm
  • Cvs:

    • n/a(空要素)
  • Custom:

    • 2 つの要素(暗号化関数および区切り文字)からなる配列

Parameter

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 つの要素をもつ配列

Return value

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

Possible PEAR_Error values
エラーコード 概要
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 のみ)。

Note

This function should be called statically.