Webアプリケーションのシボレス化
Webアプリケーションを修正することなく、HTTPサーバ(Apache)の設定や追加のプログラムのみでShibboleth化する方法としては、下記3つのパターンが考えられます。
以下の方法はいずれも「既存のWebアプリケーションを修正しない」ことに主眼を置いています。特に、シボレス認証された個々人をWebアプリケーションの(個々の)ユーザに紐付けて扱うことはできません。
(2.のProxyでIdPから受信した属性によって送信するID/パスワードを変化させる場合を除く)
(また、3.の方法は一部Webアプリケーションに手を加えている( before_filter
の部分)という点で厳密に言うと上記に従っていません)
Webアプリケーションを改変することが可能であれば、以下の方法ではなく、IdPからの属性を元にユーザセッション生成、必要に応じてユーザ作成などを行ってWebアプリケーションに引き渡す方法の方がお勧めです。
特定のリソースをShibboleth認証されたユーザにのみ見せる
Shibbolethの導入のみで実現するパターンであり、特別にユーザ管理機能の構築は必要としません。既存のアプリケーションのユーザ管理へのProxy(代行システム)を用意する
既存のアプリケーションにユーザ管理機能が存在する場合、ユーザ認証をShibbolethに代行させる機能(ログインプロキシ)を構築するパターンです。Shibbolethのセッションをもとにユーザ管理を行う
ユーザ管理機能を新たに構築し、アプリケーションへのアクセスをユーザの持つ権限により制御したい場合のパターンです。
Shibboleth対応システム構築にあたっては、以下のログアウトに関する説明もあわせてお読みください。
⇒ログアウト処理