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を設定すれば、これらディレクトリサービスを使ったユーザ認証もできるはずです。
 

AttachmentSize
Plain text icon gsession-2.4.1-cas-v1.patch.txt28.72 KB