エンジニアブログ

エンジニアブログ
Movable Type プラグイン

MTのログインセッションを利用してコンテンツを切り替える:MTLoginSession

ぴろり上西 2007年10月18日

 コーポレートサイトなどを構築している際に, MovableTypeの管理画面にログインしているか否かに応じてコンテンツを切り替えたい場合があります。 考えられる例としては(と言いますか,この例しか思い浮かばない), そのユーザがMT管理画面にログインしている時のみ, エントリの編集画面へのリンクを表示するなどの使い方です。
 似た機能を持つプラグインとして AdminLinks Pluginがありますが, こちらはセッションの管理にMTとは別に独自の仕組みを持っているようです。

 今回紹介するMTLoginSessionプラグインはPHPを利用して動作するため,ページがPHP化されている必要があります。 ダイナミックパブリッシングには残念ながら対応していません。

こんな感じです。

editentry.jpg

プラグインのダウンロード

MTLoginSession 1.00: ダウンロード

プラグインのインストール

 ダウンロードしたアーカイブを解答して,MTLoginSession.plをMovableTypeのpluginsディレクトリ以下にアップロードしてください。

プラグインの利用方法

 だいたい以下のような感じで使うことを想定しています。 いずれのテンプレートタグも小さなPHPコード片を生成する点に留意してください。

 MTUseMTLoginSession に force_login="1" オプションを追加すると, MTにログインしていない場合には,自動的にMTのログイン認証画面にリダイレクトさせることができます。 その場合,PHPからHTTPヘッダを送出するため,タグの前に空白文字や改行文字などがあってはいけません。

 mt.cgiのCookieを流用しますが,通常の設定ではCookieの有効なパスがMTのインストールパス以下に制限されています。 そこでMTの環境設定ファイルに以下の行を追加して,Cookieを上位のディレクトリからも読めるようにする必要があります。 設定するパスはサイトの構成に合わせて適切に調節してください。

注意事項

  • 出力されたページはPHPページとして表示される必要があります。
  • ダイナミックパブリッシングされるテンプレートでは動作しません。
  • MT4.0,MTE1.53で動作確認済みです。
  • 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。