Pear::Auth 認証

Pear::Auth 認証スクリプト
PHP ファイル
Auth-com-30.php


63Pear Villageに戻る

<?php
require_once 'Auth/Auth.php';

function loginFunc($usr, $status){
/*
 これはフォ-ム生成関数です。
 PEAR::Auth から引数として現在のユ-ザ名
 $usr (この情報はここでは使用せず)と
 認証ステ-タス $status (下記参照)
 を受取ります。
*/
  $err = array(
   AUTH_IDLED =>
   '最大アイドル時間を超過しています。<br>
    再ログインしてください。',
   AUTH_EXPIRED =>
   'ログイン期限が切れています。<br>
    再ログインしてください。',
   AUTH_WRONG_LOGIN =>
   'ユーザID/パスワードが間違っています。'
 );
  require_once('LoginForm0.php');
}
$params = array(
//'cryptType' => 'md5',
  'cryptType' => 'crypt',
  'users' => array(
  '63pear' => 'xyxqaLuHY7Ipc',
   ));
$myAuth =
  new Auth("Array", $params, "loginFunc");
/*
 ログインフォ-ムをカスタマイズします。
 使用するフォ-ム生成関数の名前は
 Authコンストラクタの第3引数に指定。
 LoginForm.phpが呼び出される。
*/
$myAuth->setExpire(30);
/*
 ログインしてから認証が期限切れとなる
 までの時間(単位:秒)を設定。
*/ 
$myAuth->setIdle(5);
/*
 このメソッドで、最大アイドル時間を設定。
 "アイドル時間"とは、 ユーザが2つの操作
 をする間隔の最大時間(単位:秒)
 のことです。
 操作無しに最大アイドル時間が経過すると
 ユーザは自動的にログアウトされます。
 逆に、ユーザが最大アイドル時間までに
 何か操作をすると、アイドル時間は
 リセットされます。
*/
$myAuth->start();
/*
 startメソッドは現在のユ-ザが認証済み
 であるかどうかを判断します。
 未承認の時はログインフォ-ムを表示、
 処理は中断しない。
 認証済みの時はそのまま後続の処理を続行。
*/
if(!$myAuth->checkAuth()){
/*
 checkAuthメソッドでユ-ザが未認証の時は
 以降の処理を中断
*/ 
  exit();
}

/*
認証ステ-タス $status 一覧

定義済の定数              値
AUTH_IDLED                -1
  セッションのアイドル時間が所定の時間を
  超えている  
AUTH_EXPIRED              -2  
  認証が有効期限切れになっている  
AUTH_WROND_LOGIN          -3
  ユーザー名またはパスワードが異なっている  
AUTH_METHOD_NOT_SUPPORTED -4
  コールバック関数が実装されていない  
AUTH_SECURITY_BREACH      -5
  セキュリティに問題があった  
AUTH_CALLBACK_ABORT       -6
  コールバック関数がセッションを終了させた  
*/
?>