[[CodeIgniter]]
#contents
* Tank_Auth とは? [#zd9c9019]
PHPのMVCフレームワーク「[[CodeIgniter]]」用のユーザー認証ライブラリ。
[[DX_Auth]]を元に改良したもの、とのこと。
* 参考リンク [#t6e6bd0d]
- 公式サイト
http://www.konyukhov.com/soft/tank_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
* インストール [#m08e8ec4]
http://konyukhov.com/soft/tank_auth/
+ [[Download>http://konyukhov.com/soft/tank_auth/tank_auth.zip]] 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 [#i83a48df]
** Tank_Authの共有 [#d66e54a2]
Tank_Authで使う認証データを、他のWebアプリからも利用できるようにする。
=Tank_Authのテーブルを、他のデータベースからも参照できるようにする。
|ホスト|対処法|h
|同一ホストの場合|→ 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(データベース名が違う場合は、適宜読み替えて実行)
#code(sql){{
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ストレージエンジンによって参照テーブルを作成可能とのこと。
** 日本語化 [#te144126]
Tank_Authの言語は、デフォルトだと英語になっています。
日本語のWebサイトで使う場合は、文言を日本語化しましょう。
(参考)http://s-proj.com/utils/citop.html