【CodeIgniter】サードパーティのライブラリ(ion_auth)をインストールする方法
CodeIgniterでサードパーティのライブラリをインストールする方法です。
備忘録的なまとめです。
Sparksをインストールする
DLページ:katzgrau/getsparks.org: getsparks.org – The CodeIgniter Package Managment Repository
CodeIgniterのアプリケーションフォルダで以下のコマンドを実行。
$ php -r "$(curl -fsSL http://getsparks.org/go-sparks)"
するとtoolsというフォルダが生成されます。
では、認証システムの構築に便利な、ion auth
ライブラリをインストールしてみましょう。
DLページ:CodeIgniter Sparks | ion_auth
$ php tools/spark install -v2.5.0 ion_auth
You are on fire
と表示されれば成功です。
すると、sparks
というフォルダが生成されます。
では、実際につかってみましょう。
ion authライブラリを利用する
ion auth
ライブラリではセッション認証をつかいます。
そこで、CodeIgniterのマニュアルからセッションデータ利用に必要なDBサンプルデータをもってきます。
セッションクラス : CodeIgniter ユーザガイド 日本語版
上記ページから以下のコードをコピーします。
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(16) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
つぎに以下のパスからSQL文をDLします。
/sparks/ion_auth/2.5.0/sql/ion_auth.sql
DROP TABLE IF EXISTS `groups`;
#
# Table structure for table 'groups'
#
// ......長いので省略します。
CodeIgniterのマニュアルからコピーしたSQL文とion_auth.sql
をDBに挿入します。
するとDB内にいつくかのテーブルが生成されます。
ユーザーテーブルをみるとAdminのアカウントが生成されていることがわかります。
ユーザー名:administrater
パスワード:password
Email:[email protected]
ion authライブラリのオートロード設定とテスト実行
つぎにion auth
ライブラリをオートロードします。
編集ファイル:application/config/autoload.php
$autoload['sparks'] = array('ion_auth/2.5.0');
Welcomeコントローラーに以下を記述します。
ログインしていないユーザーをログインページにリダイレクトするスクリプトです。
編集ファイル:application/controller/welcome.php
ion_auth->login("[email protected]", 'password');
if( $this->ion_auth->logged_in() == false ){
redirect ('user/login');
}
}
public function index()
{
$this->load->view('welcome_message');
}
さくっと、リダイレクト先のページも作成します。
新規作成ファイル:application/controller/user.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class User extends CI_Controller {
public function __construct(){
parent::__construct();
}
public function login(){
echo "Login form";
var_dump($this->ion_auth->user()->row());
}
}
以上で完了です。
トップページにアクセスすると、ログインページにリダイレクトされることがわかります。ion auth
便利ですね!
photo credit: Gueоrgui via photopin cc
※P.S:無料メルマガで発信中:過去の僕は「ブログ発信で5億円」を稼ぎました。次は「30億円」を目指します。挑戦しつつ、裏側の思考を「メルマガ」から発信します。不満足なら1秒で解約できます。無料登録は「こちら」です。