× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
LDAPの情報を使いやすくするため、LdapUserオブジェクトを生成してsession[:user]に格納しました。
LdapUserはオブジェクト生成時にLDAPサーバにアクセスし、情報をセットします。 あとはattr_readerを用意しました。 しかし、次のようなエラーが出てしまいました。 We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly. ぶっちゃけ読めなかったのでExcite翻訳。 すみません、何かが支障をきたしました。 私たちはこの問題に関して通知されました、そして、まもなく、それを見るでしょう。 だそうです。 ん、勝手に通知してるの?w まぁ、というわけで何かが支障をきたしているそうです。 $stderrでセットした値を出力出来ているので、ゲットは出来ているみたいです。 development.logを見てみると、エラーが出ていました。 Rendering /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/action_controller/templates/ rescues/layout.rhtml (500 Internal Error) singleton can't be dumped singletonはdump出来ないそうです。 え、singletonなんて使ってないよ? sessionに格納した値にsingleton_methodsを使って特異メソッドが定義されていないか確認してみました。 すると、ber_identifierというものが出てきました。 こいつが邪魔をしていてMarshal出来ないみたいです。 NetLdapのソースを見てみるとちゃんと定義されてました。 sessionに格納する前にto_sしてたんですが、これでは駄目なようです。 試しに空文字列を足して無理矢理文字列に変えてみると上手くいきました。 というわけで、文字列に変換するといいみたいですが、空文字列を足すわけにはいかないし、どうしようかな。 rubyにto_s以外のものは用意されてるのかな? とりあえず原因はわかりました。 ちなみに、この謎を解くのに2日かかりましたとさ。 PR |
|
トラックバックURL
|
忍者ブログ [PR] |