WordPress MUでLDAP

しばらくうまくいかなくて、いろいろ試行錯誤してたけど、ちゃんとADのアカウントでログインできて、blogを持ってないひとがログインしたら、

  • blog作らず
  • blog作る

の両方のパターンでうまく行った。
adminのところでユーザー追加をすると画面上はwarningがでて正常終了していないように見えたんですが、実はviewがそうなってただけで、ちゃんとユーザー追加できてたというオチでけっこうはまりました。
PHPLDAPもどっちもよくわからんかったので、echo文を書きまくって愚直に確認していきましたが、シンプルな設計で助かりました。DIとか使われてたら泣いてた。

時間をかけちゃったけど、デバッグ方法とかPHPのナレッジを貯められたので、まあいいかな。

以下、やってる間のメモ。

  • LDAP関数は拡張関数なのでデフォルトだと有効になってない
    • linuxとかならOpenLDAPを先に入れてヘッダファイルとリンクさせないといけない
    • Windowsならdllは標準で入っているので、php.iniで有効にしないといけない
  • EclipseのPDTはけっこう使える
    • けどステップ実行とかするにはzend debuggerを入れないといけない
  • ADはデフォルトではanonymousを許可しない
    • 例えば
      • サーバは127.0.01:389
      • DNは cn=Users,dc=sub,dc=yourdomain
      • アカウントは hoge@yourdomain
      • パスワードはアカウントのやつ
  • ハッシュとかオブジェクトの中身をログに出したい
    • var_dump とかいう関数があるけどレスポンスのbodyに出力しやがる
    • serialise っていう関数を使うと永続化したかたちに変換してくれるので、それをログ出力関数に渡せばいい