You are here
GroupSessionのCAS対応
グループウェアソフトGroupSessionのCAS対応を行いました。
全学CAS認証サーバと連携したシングルサインオンが可能になります。
GroupSession2.4.1用のパッチを掲載しておきます。パッチの利用方法は以下の手順をご覧下さい。
なお、ユーザ認証機能に手を入れる改良であることから、ソースコードを読んで動作の仕組みをご理解の上ご利用頂きますようお願いいたします。
当パッチを利用することによるいかなるトラブル・損害に関しても、当方は一切の責任を持ちません。
パッチ利用手順
0.GroupSession2.4.1のソースコードを展開
mkdir work
work/にGroupSession2.4.1のソースコードを展開
ソースツリーのルートディレクトリ(work/gsession2)を以下$GSESSIONと表記しています。
work/にパッチファイル(gsesssion-2.4.1-cas.patch.txt)を保存
1.パッチをあてる
cd $GSESSION
patch -p1 < ../gsesssion-2.4.1-cas.patch.txt
2.コンパイル
cd $GSESSION
ant build
3.CASクライアントライブラリのインストール
(1)Java CAS Client 2.1.1を以下のページからダウンロード
http://www.ja-sig.org/wiki/pages/viewpageattachments.action?pageId=776
(2)ZIPファイルを展開し、cas-client-java-2.1.1/dist/casclient.jarを取り
出して$GSESSION/WEB-INF/libに置く
(3)$GSESSION/WEB-INF/web.xml内のCAS設定を変更する。
変更する必要があるのは以下のパラメータ:
(以下、CASサーバ名をcas.company.co.jp,
GroupSessionのURIをgsession.company.co.jpとする)
edu.yale.its.tp.cas.client.filter.loginUrl
CASログインページのURLを指定する。
例:https://cas.company.co.jp/cas/login
edu.yale.its.tp.cas.client.filter.validateUrl
CASのサービスチケット検証サービスのURLを指定する。
例:https://cas.company.co.jp/cas/serviceValidate
edu.yale.its.tp.cas.client.filter.serverName
CASフィルタを適用するサービスの「サーバ名:ポート番
号」を指定する。
例:gsession.company.co.jp:80
CASフィルタについての詳細は以下のページを参照のこと
・Using CASFilter
http://www.ja-sig.org/wiki/display/CASC/Using+CASFilter
4.動作テスト
(1)GroupSessionにユーザアカウントを登録します。
(2)CASログイン用ページにアクセスします。
http://gsession.company.co.jp/cas/login.do
にアクセス
#ここではGroupSessionのURIをgsession.company.co.jpとします
CASの認証後、GroupSessionのメイン画面に切り替わります。
5.その他
上記の設定はCASフィルタを使ったシングルサインオンの設定例ですが、作成したプラグイン自体はHttpRequestのremoteUser属性を見ているだけです。したがって、Tomcat側でremoteUser属性を設定するものであれば、CASに限らず他のユーザ認証機構(例:BASIC認証)も利用可能かと思います。
試してはいませんが、LDAP,ActiveDirectoryを使ってユーザ認証をするようにtomcatを設定すれば、これらディレクトリサービスを使ったユーザ認証もできるはずです。
Attachment | Size |
---|---|
gsession-2.4.1-cas-v1.patch.txt | 28.72 KB |