第1回 大学ポータル・デベロッパーズ・ワークショップに参加してきました

第1回 大学ポータル・デベロッパーズ・ワークショップ 『CAS3 によるシングルサインオン環境の実現』

 第2回Wicket勉強会には残念ながら参加できませんでしたが、こちらには何とか参加できました。

 ご存じの方も多いかと思いますが、CASというのはLDAPRDBMSを認証源にして、手軽なシングルサインオン環境の提供を目指したJavaベースの認証サーバーです。アメリカのYale大学が先立って開発し、現在はJA-SIGが引き継いでいます。会場となった名古屋大学熊本大学が日本の大学での先行導入事例として有名ですね。

内容に関しては特に公開の許可をいただいていないので、軽く感想程度など。

CAS 概要

 CASの動作の流れを丁寧に教えていただきました。いきなり私が詰まっていた問題が氷塊。
 CAS3になってから内部構造がSpring2.5+Spring Webflowになっているとのこと。Webflowで作られたアプリケーションのソースコードを読んだのは初めてだったのですが、フローチャートの考え方をそのまま流用できて便利ですね(でもXmlを見た瞬間、めんどいなあ、Wicketにしてほしいなあと思ってしまった)。
 Webアプリケーションに配備する認証Clientに関しては、JA-SIGのサンプル(Yale大学版)はServletFilterを使って認証を実現しているのですが、ワークショップのサンプルではもっと基本的な、SessionにuserIdがあるかどうか見てリダイレクト先を変える形の様でした。この辺は今後、Wicketアプリケーションと組み合わせて上手く行くかを日記に書いてみたいです。
 Yale大学版にはバグがあるとおっしゃっていたのですが、詳細を聞けなかったことを後悔……orz

CAS 3.x による実装、ウェブアプリケーションの CAS 化

 実際にソースコードをさわって、動作の確認・認証源の変更を行いました。 またCAS同様、大学のポータル(Portlet)サーバとして注目されているuPortalとCASを連携させたりしました。
 このあたりはソースコードを修正してはmavenでコンパイル・デプロイを繰り返す形で、参加者の足並みがなかなか揃いませんでしたが、設定ファイルを書き換えるだけで認証方法の変更やサーバを変更できる便利さが良くわかりました。

CAS 3 の機能拡張

 時間が迫ってきていたため、OpenIDについては割愛されましたが、X.509認証のしくみと、CASと組み合わせた認証の概念の解説がありました。

 懇親会にも参加させていただきました。
 特に記憶に残ったのは、大学のICTシステムは業者委託からオープンソース等を使った内部開発へシフトしつつあるということと、大学でC言語を教えるべきか?という話題。この辺は長くなるので、その内、自分の考えを投稿してみようかなあ。

 ワークショップ自体は、まだまだ参加大学の数も少なかったですが、今後、大学でいかに内部開発を可能にするかという視点から、いろいろ検討する場として大成できるんじゃないかなあと思いました。

 次回は一年後かな……ということで。大変楽しみです。