クッキーの受け入れ

OSC準備のため、SSO Proxy と WordPress の組み合わせのシングルサインオンを試していたのだけど、ちょっとはまった。SSO Proxy は httpclient 3.1 を使っているのだけど、どうも、httpclientがクッキーの受け入れに関して、普通のブラウザと異なる動きをしているように思う。現象としては、たとえば、/ にアクセスして、path=/hoge/ にクッキーをセットしようとした場合、ブラウザは受け入れるけど、httpclient は却下する。RFC 2965 の 3.3.2 Rejecting Cookies によると、The value for the Path attribute is not a prefix of the request-URI.って言っている。これからすると、httpclient が正しいようにも思える。httpclientのコード的には、CookieSpecBaseのvalidateなのだけど、この動きをされると、どうすることもできん。httpclientはいくつかクッキーポリシーがあるけど、既存のものでは対応できないみたいだから、新しいクッキーポリシーを加えて、対応してみた。

OSCの準備一段落

やっとこ、準備作業が一段楽した(と思う)。デモの内容としては、

  1. iGoogle みたいなポータルを作る
  2. PALポータルとSSO Proxyでシングルサインオン環境
  3. SAStrutsなポートレットをHOTdeployでさくさく開発(Flashでの再生)

っていうのを予定してましたが、予定通りにやりたいと思います。1 は、Googleガジェットポートレットと Netvibesウィジェットポートレットで、iGoogle みたいじゃないですか? 的な感じ(まぁ、ページにそれらを置いただけの感じだけど)。2はPALポータルとSSO Proxyをセットアップした状態で、WordPress に対して、シングルサインオンします(WordPressを選んだのは、認証があるシステムを新たに作るのが面倒なので、手元にあった環境を利用しただけ)。3 は昨日、作った Flash を再生予定。1 と 2 はネットワークに接続する必要があるので、現地のネットワーク環境がどうなっているのかとかも、ちょっと気になってます(無線LANがあったみたいだけど)。という感じで、今回も時間内(45分)に収まるようにがんばろっと。

SELECT LAST_INSERT_ID()

MySQLでS2Daoを使っていて、insert してもその後、オブジェクトに正しいプライマリキーのIDが入らないから何でだろうと思い、調べてみる。MySQLの場合は、オブジェクトを insert した後に SELECT LAST_INSERT_ID() をして、値を取得して、オブジェクトに入れてくれるのね。っで、insert したコネクションと SELECT LAST_INSERT_ID() したコネクションが違うと、0 が返ってきて、オブジェクトの ID が 0 になるみたい。というわけで、トランザクションまわりの自分の設定が悪かったわけでした(^^; なるほどね、ちょっと賢くなった。