明日はどんなことして遊ぶ? デザイングループ「A.K.A and more」

WEB・DTPで活躍するデザイナーズグループ「A.K.A and more(エーケーエーアンドモア)」のブログです。アシタコンナコトシテアソブをテーマに、日々遊び心のあるデザインとコンテンツ制作を行っております。...Read More

MediaWikiとWordPressのアカウント(ログイン情報)を同期

MediaWikiとWordpressのユーザー情報をシンクロさせる拡張機能。
詳しくは
New MediaWiki Extension: WPMU Single Sign-on
WPMW - CiaransWiki
MediaWikiとWordPressのアカウントを同期する - 何かしら図書館
を参照。

WordPress 2.9.2
MediaWiki 1.15.2
で正常に動作している。

何ができるか

  • WordPressアカウントが既にあれば、そのアカウントでMediaWikiにログインできる。MediaWikiに該当するアカウントがなければ、その都度作成される。
  • MediaWikiでアカウントを作成したら、WordPressにもアカウントが作成される。WordPressで作成されたアカウントの権限は"購読者"になる。
  • WordPressにログインしたら、MediaWikiにも自動的にログインされる。MediaWikiにログインしたら、自動的にWordPressにログインされる。
  • MediaWikiでメールアドレスや氏名を変更したら、WordPressのアカウント情報も反映される。
  • WordPressでメールアドレスや氏名を変更したら、MediaWikiのアカウント情報は次回ログイン時に反映される。

ダウンロード

まずはこちらのMediaWiki用エクステンションをダウンロード。

Download the WPMu Single Sign-on package here. (zip file)

ダウンロードしたものをextensionsフォルダにアップロード。
/extensions
 ∟/AuthWP/AuthWP.php
 ∟/Lockdown/Lockdown.php
 ∟/LogoutLoginWP/LogoutLoginWP.php

セッティング

エクステンションを有効化するためにLocalSettings.phpに以下を追加

CODE:
  1. require_once( $IP.'/extensions/Lockdown/Lockdown.php');
  2. $wgSpecialPageLockdown['Preferences'] = array('');
  3. require_once('extensions/AuthWP/AuthWP.php');
  4. $wgAuth = new AuthWP();
  5. require_once($IP.'/extensions/LogoutLoginWP/LogoutLoginWP.php');

さらに.htaccessに以下を追加

CODE:
  1. RewriteCond %{QUERY_STRING} ^action=logout.*$
  2. RewriteCond %{REQUEST_URI} wp-login.php$
  3. RewriteRule ^.*$ wiki/index.php?title=Special:UserLogout [QSA,L]

修正

AuthWP.phpは、WordPressがインストールされたディレクトリに/wikiというディレクトリを作り、そこにMediaWikiをインストールしていることを想定している。
前提が異なる場合、つまり違うディレクトリにそれぞれインストールしてある場合、AuthWP.phpを開いて$WP_relpath=にWordPressがあるディレクトリを指定すると使えるようになる。

MediaWikiのアカウントは先頭が大文字になってしまうので、厳密にはWordpressと同一にはならない。ダウンロードしたAuthWP.phpではその変換がなされていないようなので、Wordpressのアカウントの先頭を大文字にして取得するように編集。

具体的にはIDをとっている部分

CODE:
  1. $id=User::idFromName($wpuser->user_login);

CODE:
  1. $id=User::idFromName(ucfirst($wpuser->user_login));

に変更。以上で双方の同期が行われるようになる。


Tag:, ,

ブックマーク: このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加ツイートツイート


関連するエントリー


この記事の投稿者

kr9

kr9 (8)

【ケーアールナイン】
WEBデザイン担当。
twitter:
http://twitter.com/akaandmore
ブックマーク:
http://b.hatena.ne.jp/kr9/

作成ツール一覧

Amazon アソシエイト (アフィリエイト) 短縮URL作成ツール

Amazon(アマゾン)のアフィリエイトリンクが長すぎてコーディングが大変なので、短いアドレスに変換できるツールを作成しました。

おすすめ

デザイナーのための著作権ガイド

デザイナーのための著作権ガイド
著作権についてとてもわかりやすく書いてあります。

レンタルサーバー Xserver


このブログのサーバです。マルチドメイン、サブドメイン、メールアドレス、FTPアカウント、全て無制限!