CodeIgniter

Tank_Auth とは?

PHPのMVCフレームワーク「CodeIgniter」用のユーザー認証ライブラリ。
DX_Authを元に改良したもの、とのこと。

参考リンク

  • Authパッケージの研究
    http://www.playing-engineer.com/download/ci_auth/

    DX_Authは使おうとすると、サンプルの再開発が必要となります。一方、TANK_Authはそこまで考慮されており、部分を出力するだけです。言い換えると、既存アプリに組み込むのも容易です。

    TANK_Authの解説
    TANK_AuthもDX_Authを参考にし、書き直されたものです。コードはとてもきれいですし、MVCモデルをきちんと守っているので使いやすいと思います。

インストール

http://konyukhov.com/soft/tank_auth/

  1. Download the latest version of the library.
     ライブラリの最新バージョンをダウンロードしてください。
  2. Unzip the package.
     パッケージを解凍してください。
  3. Copy the application folder content to your CI application folder.
     applicationフォルダをあなたのCI applicationフォルダにコピーしてください。
  4. Copy the captcha folder to your CI folder. Make sure this folder is writable by web server.
     captchaフォルダをあなたのCIフォルダにコピーしてください。このフォルダをウェブサーバーで書き込み可能になっているか確認してください。
  5. Install database schema into your MySQL database.
     データベースの構造をあなたのMySQLデータベースにインストールしてください。
  6. Open the application/config/config.php file in your CI installation and change $config['sess_use_database'] value to TRUE.
     あなたがインストールしたCIの中にあるapplication/config/config.phpファイルを開き、$config['sess_use_database']の値をTRUEに変更してください。

Tips

Tank_Authの共有

Tank_Authで使う認証データを、他のWebアプリからも利用できるようにする。
=Tank_Authのテーブルを、他のデータベースからも参照できるようにする。

ホスト対処法
同一ホストの場合→ VIEW を使う
他のホストの場合→ FEDERATEDストレージエンジン を使う

同一ホスト(MySQLサーバ)上にあるTank_Authの参照テーブルを、VIEWで作成すればOK

設置例

  • Tank_Authのテーブル → 同一MySQLサーバ上の[Tank_Auth]データベースに置く
  • Webアプリのテーブル → 同一MySQLサーバ上の[webapp]データベースに置く

作業手順

  1. phpMyAdminで[webapp]データベースの画面に入る。
  2. そして、[Tank_Auth]データベースの各テーブルを参照するVIEWを作る。

●参照するテーブルは、次の5つ。

ci_sessions
login_attempts
users
user_autologin
user_profiles

●実行するSQL(データベース名が違う場合は、適宜読み替えて実行)

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
 
 
 
 
 
CREATE VIEW ci_sessions    AS SELECT * FROM `Tank_Auth`.`ci_sessions`;
CREATE VIEW login_attempts AS SELECT * FROM `Tank_Auth`.`login_attempts`;
CREATE VIEW users          AS SELECT * FROM `Tank_Auth`.`users`;
CREATE VIEW user_autologin AS SELECT * FROM `Tank_Auth`.`user_autologin`;
CREATE VIEW user_profiles  AS SELECT * FROM `Tank_Auth`.`user_profiles`;

他のホスト(MySQLサーバ)上にある場合、参照する側がMySQL5以上なら、FEDERATEDストレージエンジンによって参照テーブルを作成可能とのこと。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS