フレームワークを便利にするプラグイン!

2008年5月22日(木)
尾藤 正人

プラグインをインストールしてみよう!

 それでは実際にsymfonyで扱うプラグインを見てみることにしましょう。symfonyのプラグインは非常に多く、公式サイト(英語)のWikiで約230件以上ものプラグインが紹介されています。そのうえ、毎週のようにプラグインの新規追加、更新が行われています。

 さらにPEARのpearコマンド同様に、symfonyにも「plugin-install」コマンドが用意されており、これらの多くのプラグインを非常に簡単に管理できるようになっています。そのほかにもtarボールやsvnリポジトリなども用意されていることもあります。

 symfonyのプラグインの中には、開発されるプラグインが重複しないように提案または開発中のプラグインリストを見ることができます。ここに記載のあるプラグインたちは、近いうちに実装され得るものたちですので、symfonyのプラグインについて最新の動向を知ることができます。

sfSslRequirementプラグイン

 それでは、早速1つ実際にプラグインをインストールして見ていきましょう。今回は、ウノウでも取得している「プライバシーマーク」に関連して、個人情報保護のために重要となる「SSL」を簡単に利用できる、「sfSslRequirement」プラグインを導入してみたいと思います。

 このプラグインはsymfony開発者の1人であるFabien Potencier氏が作ったもので、名前の通り指定したページでSSLを利用、または利用しないことを強制するプラグインです。インストールはとても簡単で、図2をsymfonyのプロジェクトディレクトリで実行するだけです。

 次にfilters.ymlにリスト2の記述を追加し、SslRequirementプラグインのフィルタを有効にします。

 次に、security.ymlファイルにアクション名に続けてSSLの利用または非利用を設定していきます。require_sslパラメータは、SSL通信を必須とするかの真偽値で、必須の場合(true)にSSL以外のリクエストは(POSTメソッド以外は)すべてSSLにリダイレクトします(falseの場合はそのままHTTPとして扱います)。

 逆にallow_sslパラメータはSSLリクエストを許可するかどうかの真偽値で、真(true)の場合はそのまま、偽(false)ならHTTPリクエストとしてリダイレクトするようになっています。例をリスト3に示します。

 この場合、sslRequiredActionページにおいては「HTTP」でアクセスした場合に「SSL(HTTPS)」付きのURLへリダイレクトされ、sslDeniedActionページへ「SSL(HTTPS)」でアクセスした場合は「HTTP」へとリダイレクトされます。

 他にもsymfonyの他の設定と同じく、「all」でデフォルトを設定しておき、個別ページごとに設定することもできます。

ウノウ株式会社
CTO。広島市立大学大学院在学中にVine Linux SPARC版の開発を行う。2002年4月、HDEに入社。2003年度未踏ユースプロジェクトに採択され、「みかん - サーバ自動選択型FTPサーバの開発」を行う。退職後、シリコンバレーに語学留学のため渡米。2004年12月、帰国してウノウに参画。写真共有サイト「フォト蔵」を開発中。ブログ:ベイエリア情報局http://blog.bz2.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています