『Codeigniter』の認証管理にアノテーションを利用してみた

『Codeigniter』の認証管理にアノテーションを利用してみた
■ 店頭より得で、予約しやすいオンラインショップ。
 → ドコモオンラインショップ
 → auオンラインショップ
 → ソフトバンクオンラインショップ

最新のiPhoneを得して乗り換えるなら、最大6万円のキャッシュバックがある
→ SMARTPHONE STORE

ショーケース・ティービーで展開するサービスを開発するために、PHPのフレームワーク『Codeigniter(読み:コードイグナイター)』を使うことになりました。
<参照:CodeIgniter『CodeIgniter Web Framework』(英語サイト)>

試行錯誤しながらなんとか完成にまで漕ぎ着けました。しかし……

  • コードが長い
  • 毎回判定(if)する書き方をしてしまいがちで、結果的に無駄が多い
  • コーディングミスやバグを出しやすい書き方をしてしまっている

私自身が経験不足であることは否めず、かなり荒い作りに……。精進します。。。

そんなことで少しばかり悩んでいた時に、同じ開発メンバーのプレゼンテーションの中で、ひょっとしたらこれら課題が解消できるかもしれない方法の紹介がありました。

これはもう実践あるのみ!
さっそく実装してみることにしました。

セキュリティモジュール『ci-security-module』とは!?

そのプレゼン内で紹介されたのは、『Codeigniter』でコメント内のアノテーションを利用したセキュリティモジュール『ci-security-module』でした。

この『ci-security-module』はユーザの認証状態や権限に応じて、アノテーションでルーティングを制御するというシンプルなもの。
そして、何と言ってもショーケース・ティービー謹製です!

Symfony」や「Laravel」といった他のフレームワークなどでは、既にセキュリティモジュールがあったりします。
しかし、『Codeigniter』にはセキュリティモジュールがなかったため、「じゃあ作ろっか」ということで作成されたものであります。

これは使わない手はありません。
管理画面が存在するショーケース・ティービーのサービス『仲介名人』で実施。
『ci-security-module』自体をオープンソースとしてモジュール化にしていたので、カンタンに使うことができました。
<参照:GitHub『ci-security-module』>

導入方法のご紹介

上でご紹介しているGitHub内にマニュアルも併記しております。
今回はその手順通りに進めてご紹介いたします。

■手順1

「composer.json」をダウンロードし、『Codeigniter』の「config.php」を以下のように変更します。

マニュアルどおりに進めてみましたが、いきなりエラーが発生w
どうやら自分の環境で利用するためには、以下のような書き方にしないとダメみたいですね。

■手順2

「hooks」も有効にしておきましょう。

■手順3

「application/config/hooks.php」に以下を追加します。

はい、これだけで導入準備は終わりです。
カンタンですね!

■最新のiPhoneの購入・機種変更なら店頭より得で、予約しやすいオンラインショップ。
機種の頭金や使わないオプションパックをつけて年間何万円も損していませんか?
オンラインショップなら故障のサポートもしっかりしていて最低限の費用。待たされることもありません。
 → ドコモオンラインショップ
 → auオンラインショップ
 → ソフトバンクオンラインショップ

最新のiPhoneを得して乗り換えるなら、最大6万円のキャッシュバックがある
→ SMARTPHONE STORE
がお得です。