- 追加された行はこの色です。
- 削除された行はこの色です。
[[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」ページのコンテンツにアクセスできないようにしたい。