codeigniter用の認証ライブラリーは ion-Auth が有名ですが、community-auth-for-codeigniter-3 をインストールして使用してみます
git clone https://bitbucket.org/skunkbad/community-auth-for-codeigniter-3.git
community_auth/ ディレクトリが作成されその中に一式ファイルがコピーされます
community_auth/ ディレクトリを
自分のサーバーのcodeigniter/application/third_party
にアップロードします
./third_party/community_auth/sh/.install.sh実行します。
・bashのパスを適宜書き換えること
・.install.sh に実行権限を与えること
config/config.php の以下の行を TRUE に変更
$config['enable_hooks'] = TRUE;
config/routes.php に以下の行を追加
$route[LOGIN_PAGE] = 'examples/login';
config/hooks.php に以下の行を追加
$hook['pre_system'] = array(
'function' => 'auth_constants',
'filename' => 'auth_constants.php',
'filepath' => 'hooks'
);
$hook['post_system'] = array(
'function' => 'auth_sess_check',
'filename' => 'auth_sess_check.php',
'filepath' => 'hooks'
);
MySQLから新しいデータベースを作成し、そのデータベース内で third_party/community_auth/sql/install.sql を実行する
*config.database.php データベースへのアクセス方法を記述しておく
key_creator コントローラーを実行して暗号化方式を決定し、暗号キーを作成する
http://あなたのサーバー名/key_creator
次のような画像のような画面になるので暗号化方式を選択する
ここでは Blowfish (448 bit) を選択する
$config['encryption_key'] = hex2bin('103b81f7020bd1945e9c34e4b0432dc303570e492608afe212bfc7e47ab15520daedff6f05142713ba32a687a24b6489de29769578b3aed8');
選択すると↑のような文字列が表示されるので、コピーして
config/config.phpの328行目あたり に記述します。
また config/config.phpの391行目あたり の sess_save_path を設定します
$config['sess_save_path'] = 'セッション保存パス';
といった感じで導入までは完了です。 ざっと使った感想としてはionauth の方が良さそうです。