7.3.2 DB連携
DB連携の場合,ポータルログイン時に,ポータルのセッションIDなどの認証情報,バックエンドシステムのユーザID,およびパスワードを対応づけて,DBに格納します。ポートレットに表示されたリンクをクリックしてバックエンドシステムに直接アクセスする場合は,ポータルの認証情報をリクエスト中に含めて,バックエンドシステム側でリクエスト中のポータルの認証情報をキーとして,DBからユーザIDおよびパスワードを取得してシングルサインオンを行います。DB連携の場合,バックエンドシステムに直接アクセスするたびに,バックエンドシステムへのログイン・ログアウトを行います。
なお,バックエンドシステムの認証方式がフォーム認証,またはベーシック認証の場合に接続できます。
図7-4 シングルサインオン対応ポートレットの流れ(DB連携)
![[図データ]](figure/zu070400.gif)
- 図の説明
- ポータルへのログインに成功するとポートレットを呼び出します。ポートレットは,シングルサインオン専用のログインモジュールを呼び出します。
- ログインモジュールでは,ディレクトリサーバのシングルサインオンマッピング情報からバックエンドシステムのユーザIDとパスワードを取得します。
- ログインモジュールは,2.で取得したポータル認証情報,バックエンドシステムのユーザIDとパスワードを認証情報DBに書き込みます。
- ポートレットは,ログインモジュールから引き継いだユーザIDとパスワードを使用して,バックエンドシステムにログインし,コンテンツを取得します。このとき,バックエンドシステムへのハイパーリンクには,ポータルのセッションIDを記述しておきます。
- ポータルはすべてのポートレットの処理が終わると,コンテンツを合成してWebブラウザに応答を返します。
- ポートレットに表示されたハイパーリンクをクリックすると,ポータルを経由しないで直接バックエンドシステムにアクセスします。
- バックエンドシステムは,URLに記載されたポータルのセッションIDをキーに,認証情報DBからユーザIDおよびパスワードを取得し,認証を行います。
- Webブラウザにコンテンツを生成します。