1. Ion Auth というのを使う。
ここを見た。
http://blog.pisyek.com/5-best-authentication-libraries-for-codeigniter/
4番目の Ion Auth。
Composerでできた vendorディレクトリあたりに git clone してくる。
third_partyとかの方がいいのかな、まあいいや。
$ mkdir vendor/benedmunds
$ cd vendor/benedmunds
$ git clone git@github.com:benedmunds/CodeIgniter-Ion-Auth.git
# 例えば
/
├── .htaccess
├── application
├── composer.json
├── composer.lock
├── index.php
└── vendor
├── autoload.php
├── benedmunds
├── codeigniter
├── composer
└── mikey179
そして、apprication/config/autoload.phpを編集する。
$autoload['packages'] = array('vendor/benedmunds/CodeIgniter-Ion-Auth');
READMEにもあるとおり、Codeigniter 3を使う人は、modelファイルのファイル名を、頭の文字大文字に変更する。
models/ion_auth_model.php => models/Ion_auth_model.php
2. テーブルを作る
落としてきたファイルの、sql内のどれかを使えばテーブルができる。
3. サンプル
controllers内の auth.phpがサンプルなので、apprication/controllersにコピーしてくると動作が確認できる。modelファイル同様 Codeigniter 3では、ファイル名の頭を大文字にする Auth.php。
http://(my_site)/index.php/auth のようにするとログイン画面が開く。
4. Codeigniter 3.0.3
なんか動かないと思ったら、バージョンアップの影響があった。
Changed Config Library method base_url() to fallback to $$_SERVER['SERVER_ADDR'] when $config['base_url'] is empty in order to avoid Host header injections.
脆弱性があるから、手動で設定しなさいということらしい。そうしないとローカルのIPアドレスが入る。