- 追加された行はこの色です。
- 削除された行はこの色です。
- Ion_Auth へ行く。
[[Webプログラミング]] > [[PHP]] > [[CodeIgniter]]
#contents
#norelated
////////////////////////////////////////
* Ion Auth とは? [#h4884897]
「Ion Auth」は、PHPフレームワーク「[[CodeIgniter]]」用のログイン認証ライブラリーです。
同じくCodeIgniter用のログイン認証ライブラリーである「[[Tank_Auth]]」は、最近更新が止まっているようなので、新しい「Ion Auth」を使ってみましょう。
////////////////////////////////////////
* 参考リンク [#pe8c186d]
-ダウンロード
GitHub - CodeIgniter-Ion-Auth: Simple and Lightweight Auth System for CodeIgniter
https://github.com/benedmunds/CodeIgniter-Ion-Auth
-ドキュメント
Ben Edmunds - Ion Auth Docs
http://benedmunds.com/ion_auth/
-解説記事
CodeIgniter 3.0で認証ライブラリIon Authを使う — A Day in Serenity (Reloaded)
http://blog.a-way-out.net/blog/2015/06/08/codeigniter-ion-auth/
////////////////////////////////////////
* インストール [#zac843e4]
手動でインストールしてみます。
+ GitHubからIon Authのファイル(ZIP圧縮形式)をダウンロードする。
+ ZIPファイルを展開して、「application」の中身に相当するファイルをCodeIgniterへコピーする。
-- 「config」
-- 「controllers」
-- 「language」→ とりあえずなら「english」と「japanese」だけでOK?
-- 「libraries」
-- 「models」
-- 「views」
の6フォルダをコピーすればOK
+ 「sql」フォルダの中にあるSQLを実行する。
-- MySQLの場合は、「ion_auth.sql」をMySQLにインポートして、テーブルの作成とデータの追加を行う。
+ 必要に応じて、Ion Auth用のテーブル名を編集する。
(そのままでも良ければ以下の作業は不要)
-- Ion Auth用のテーブルは「groups」「login_attempts」「users」「users_groups」の4つ。
-- テーブル名にプレフィックス(接頭辞)「ia_」を付ける。
-- application/config/ion_auth.php」で、
--- $config['tables']['users'] = 'ia_users'; // ← 'users';
--- $config['tables']['groups'] = 'ia_groups'; // ← 'groups';
--- $config['tables']['users_groups'] = 'ia_users_groups'; // ← 'users_groups';
--- $config['tables']['login_attempts'] = 'ia_login_attempts'; // ← 'login_attempts';
の4か所を変更する。
これでインストールは完了。
////////////////////////////////////////
* 動作チェック [#n98ac793]
とりあえず、Ion Authが動くかどうか、動作チェックをしてみます。
+ http://(CodeIgniterを設置したドメイン)/auth にアクセスしてみる。
+ ログイン前なので、ログイン認証ページにリダイレクトされる。
-- http://(CodeIgniterを設置したドメイン)/auth/login にリダイレクトされなければ、インストールが間違えていないか再確認。
+ ログイン認証ページに飛んだら、デフォルトの「Email」と「Password」を入力してみる。
-- Email → admin@admin.com (全部小文字)
-- Password → password (全部小文字)
+ ログインに成功したら、トップページへリダイレクトされる。
-- ログインに失敗したら、再度ログイン認証ページが表示される。
+ ログアウトのページにアクセスしてみる。
-- http://(CodeIgniterを設置したドメイン)/auth/logout にアクセスする。
-- ログアウト処理が成功したかどうか?を確認するために、/authにアクセスしてみる。
-- /auth/login へ飛ばされたら、ログアウトに成功していたことが分かる。
以上で、ログイン、ログアウトの動作チェックを行い、Ion Authが動作していることを確認します。
////////////////////////////////////////
* ページへの組み込み [#o65bd4ba]
Ion AuthをCodeIgniterのページに組み込み、ログイン認証を利用してみます。
(例)「Hoge」というページにIon Authを組み込み、ログインしていないと「Hoge」ページのコンテンツにアクセスできないようにしたい。