Keys

BuddyPressがあまり使いものにならないくらいスケールの大きな話になっていることにクラクラしつつ、残っているLDAP対応に手を付ける。

てか、WPのマルチサイトっていくつまで耐えられるんだろう。

気になって少し調べてみたら、興味深い記事が。

WordPressマルチユーザー環境の事例 + Google Analytics 計測結果 | Googleアナリティクス解説Blog カグア!

なんていうか、1サイトでも30サイトでも200サイトでも、落ちるときは落ちるんですね。

 * * *

話を戻して、LDAPでのユーザ認証プラグインを探しました。

最初は日本語での説明もあった Simple LDAP Login を導入してみたけれど、アップデートがなされていないので怖くてボツ。

残っているのはすべて英語のようだけれど…まあ、いつもの超訳でがんばってみた。

WordPress > ldap ≪ Tags ≪ WordPress Plugins

LDAPタグのついたプラグインを眺めてみたら、結構色々ありました。

今回欲しかったのは、ユーザ管理をLDAPに任せてしまう機能。LDAP側でパスワードを変えたら、ログインパスワードも変わってくれるような。

どうせログインのところだし、それほど大きな設定もないだろうから入れて試してみましたよ。

WPMU Ldap Plugin

Requires: 3.1 or higher Compatible up to: 3.3.x Last Updated: 2012-6-13

WordPress MUのログイン機能をLDAPログインに上書きして使うタイプのもの。説明を見てみると、LDAPでログイン成功したユーザをWPに自動登録するようで。WP3.1以上に対応しているので、MUとか名残だと思って気にしなくても良さそうな。

となると…パスワード変えたらログインできなくなるのかな?
それとも、ログインできない→LDAP見に行く→OKじゃん、変えとくね→ログイン成功 ってなってれば良いんだけど。

とりあえず、入れてみた。

重大なエラーを引き起こしたため、プラグインを有効化できませんでした。
Fatal error: Cannot redeclare wp_new_user_notification() in /——-/wp-content/plugins/wpmuldap/ldap/lib/wpmu_ldap_admin.functions.php on line 738

・・・・・・orz

wp_new_user_notification が競合しているよってエラー。
該当ファイルを開いて、738行目からの function を

if (!function_exists(‘wp_new_user_notification’) : ~ endif;

で囲んであげれば大丈夫なんだろうけど。

めんどくさいので次行ってみる。

LDAP LPRM

Requires: 3.0 or higher Compatible up to: 3.3.2 Last Updated: 2012-3-23

LDAP認証とユーザレベルの管理を有効にするよ、という必要十分な機能。

プラグインフォルダに突っ込んでネットワーク管理者画面から有効化してあげれば使える。

子サイトの 設定>LDAP Settings から設定する。特権振りかざして全部の子サイトで一気に設定できると良かったんだけどなー…

気を取り直して設定。と言っても変更したところは Base DN と Domain Controller(s) のみ。

  • Base DN → ベースとなる識別名。 例)dc=example, dc=or, dc=jp
  • Domain Controller(s) → 接続するホスト。 例)ldap.example.or.jp

権限も決められるようだけど、今回のテスト用LDAPデータの方に権限データが入っていなかったので(!)、全部規定の権限でのログインとなります。

これで Update Options ボタンを押せば設定完了。

画面の上の方にはテスト用フォームがあるので、LDAPに登録されているIDとパスワードでログイン確認できます。

これで勝つるー!と思って、ログインもできて、複数の子サイトにログインしてみようと思ったら管理者権限のログインができない!

FAQにちゃんと書いてありました。

Q. LDAPプラグインはWPのログイン機能より優先されるの?

A. はい。プラグインが有効になれば認証機能はLDAPシステムに渡されますヨ。

…まあ、当然と言えば当然ですHAHAHA。

というわけで一度プラグインフォルダの名前を変えて、無理やり管理者でログインしました。

気になったこと:

  • 複数の子サイトで同じLDAPデータが有効になっている場合、ユーザは最初にログインした子サイトに所属しているとみなされる。
  • でもLDAPが有効な他のサイトにもログインできる。
  • でも参加サイトには最初にログインしたサイトしか表示されない。
  • これを変更するには、他の子サイトの管理画面で、ユーザ登録してあげる必要がある。

うん、もうちょっとなんとかしたい。

今日は以上。修正した WPMU Ldap Plugin も試してみよう。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA