[[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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS