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モデルをきちんと守っているので使いやすいと思います。
- PHPフレームワーク、CodeIgniterに認証用ライブラリ、Tank Authを入れてみた
http://kokudori.blog69.fc2.com/blog-entry-7.html
インストール †
http://konyukhov.com/soft/tank_auth/
- Download the latest version of the library.
ライブラリの最新バージョンをダウンロードしてください。 - Unzip the package.
パッケージを解凍してください。 - Copy the application folder content to your CI application folder.
applicationフォルダをあなたのCI applicationフォルダにコピーしてください。 - Copy the captcha folder to your CI folder. Make sure this folder is writable by web server.
captchaフォルダをあなたのCIフォルダにコピーしてください。このフォルダをウェブサーバーで書き込み可能になっているか確認してください。 - Install database schema into your MySQL database.
データベースの構造をあなたのMySQLデータベースにインストールしてください。 - 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]データベースに置く
作業手順
- phpMyAdminで[webapp]データベースの画面に入る。
- そして、[Tank_Auth]データベースの各テーブルを参照するVIEWを作る。
●参照するテーブルは、次の5つ。
ci_sessions login_attempts users user_autologin user_profiles
●実行するSQL(データベース名が違う場合は、適宜読み替えて実行)
1 2 3 4 5 |
|
他のホスト(MySQLサーバ)上にある場合、参照する側がMySQL5以上なら、FEDERATEDストレージエンジンによって参照テーブルを作成可能とのこと。
日本語化 †
Tank_Authの言語は、デフォルトだと英語になっています。
日本語のWebサイトで使う場合は、文言を日本語化しましょう。