PHPプログラムに関する各種メモ書き

CodeIgniterの Auth パッケージ ion auth を使用する

● benedmunds/CodeIgniter-Ion-Auth

https://github.com/benedmunds/CodeIgniter-Ion-Auth

codeigniter用シンプルな認証ライブラリーです。
viewファイルもついてくるのでインストールするだけですぐ使えます。
シンプルな作りになっているので sqlite でも使用することができます

● 1. インストール

ターミナルから以下のようにしてインストールします

cd codeigniter/application/third_party
mkdir benedmunds
cd benedmunds
git clone https://github.com/benedmunds/CodeIgniter-Ion-Auth.git

● 2. autoload.phpの設定

apprication/config/autoload.php 42行目あたり を以下のように変更する。

$autoload['packages'] = array(APPPATH.'third_party/benedmunds/CodeIgniter-Ion-Auth');

● 3. Auth用テーブルを作成する

codeigniter/application/third_party/benedmunds/CodeIgniter-Ion-Auth/sql/ の中にデータベース作成SQLがあるので
実行してテーブルを作成します

実行が完了すると以下のテーブルができます

・groups
・users
・users_groups
・login_attempts
※ データベーステーブル名に接頭辞をつけるには

テーブル名の先頭に接頭辞「 ion_ 」をつけたい場合はこちらのsqlファイルをダウンロードして実行します。
http://logic.moo.jp/data/filedir/1075_1.zip
接頭辞を変更したい場合はダウンロード後「 ion_ 」を適宜書き換えてください
codeigniter/application/third_party/benedmunds/CodeIgniter-Ion-Auth/config/ion_auth.php のテーブル名も変更します

※ SQLite3用にSQL文を変換するには

http://flatsystems.net/js_mysql_to_sqlite.html
を利用する。

● 4. config/config.php の設定を確認する

次の3項目の値を確認する。

$config['base_url'] = 'http://xxx.yyy.zzz/aaaa/';
$config['sess_save_path'] = APPPATH.'session/';
$config['language']	= 'japanese';

また、もし可能なら `application/session` ディレクトリの権限を「0700」に設定しておく

● 5. codeigniter の日本語パッケージをインストールする

ここからインストールします
https://github.com/NEKOGET/ci_language

● 6. データベースの設定を記述する

config/database.php にデータベースの設定を記述する

● 7. Authを使用してみる

codeigniter/application/third_party/benedmunds/CodeIgniter-Ion-Auth/controllers/Auth.php
codeigniter/application/controllers/ ディレクトリにコピーして動作させてみる

http://あなたのサーバー/auth/ 
で起動する
ログイン id ,pass はデフォルトで

Username: admin@admin.com
Password: password

となっているので、こちらを利用してログインを確認します。

● さらにユーザーごとのACL(アクセス制御リスト)を利用するには

こちらのライブラリを使用します。
https://www.phpclasses.org/package/10041-PHP-Manage-the-access-of-CodeIgniter-users-using-ACL.html

関連エントリー

添付ファイル1
No.1075
06/02 16:42

edit

添付ファイル

CodeIgniter