Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド 11g リリース1 (11.1.1) B62265-02 |
|
![]() 前 |
![]() 次 |
Oracle Application Serverシングル・サインオンでは、デプロイメントに固有のログイン、パスワード変更、およびシングル・サインオン・サーバーによるシングル・サインオフ・ページを統合するためのフレームワークが提供されます。つまり、UIのルック・アンド・フィールおよびグローバリゼーション要件に合わせてこれらのページを調整できます。
JavaServer (JSP)ページを使用することをお薦めします。他のWebテクノロジでは、結果に矛盾が生じる可能性があります。PLSQLページはサポートされていません。製品にサンプル・ページが付属しています。Oracle Application Server Single Sign-On製品には、Oracle Application Serverでのテスト用のサンプル・ページが付属しています。
この章には次のトピックが含まれます。
シングル・サインオン・ページを使用可能にするプロセスは、次のようにまとめることができます。
ユーザーはパートナ・アプリケーションをリクエストし、シングル・サインオン・サーバーへリダイレクトされます。
ユーザーが認証されない場合、シングル・サインオン・サーバーはユーザーをサンプル・ログイン・ページかデプロイメント固有ページへリダイレクトします。このリダイレクトの一環として、表H-1に示すパラメータがサーバーからページに渡されます。
ユーザーはログイン・ページを実行します。これにより、表H-2に示すパラメータが次の認証URLに渡されます。
http://sso_host:sso_port/sso/auth
または
https://sso_host:sso_ssl_port/sso/auth
これらのパラメータのうち少なくとも2つ(ssousername
、password
)が変更可能なフィールドとしてページに表示されます。
ユーザーのパスワードの有効期限がすぐに切れるように設定されておらず、シングル・サインオン・サーバーがユーザー名とパスワードを正常に検証すると、このユーザーをアプリケーションの成功URLへリダイレクトします。認証が失敗すると、サーバーはユーザーを再びログイン・ページへリダイレクトして、エラー・メッセージを表示します。
ユーザー・パスワードの有効期限が近い場合は、ログイン・ページではなく、パスワード変更ページが表示されます。また、デプロイメント固有のパスワード変更ページを使用するようにサーバーが構成されている場合、ユーザーはこのページのURLにリダイレクトされ、表H-3に示すパラメータがページに渡されます。
注意: ステップ5で、ディレクトリ管理者がユーザーにパスワードを変更するよう強制している場合、パスワード有効期限にかかわらず、同じ条件が適用されます。 |
ユーザーはパスワード変更ページを実行し、古いパスワード、新しいパスワード、確認用の新しいパスワードを入力します。このページは、表H-4に記載されているパラメータをパスワード変更URLへ渡します。
http://sso_host:sso_port/sso/ChangePwdServlet
または
https://sso_host:sso_ssl_port/sso/ChangePwdServlet
エラーが発生すると、シングル・サインオン・サーバーはユーザーをパスワード変更ページへリダイレクトして、エラー・メッセージを表示します。エラーが発生する可能性がある状況の詳細な説明は、「パスワード変更ページの動作」を参照してください。
パスワード変更に成功すると、ユーザーは認証リクエストのトリガーとなったパートナ・アプリケーションURLへリダイレクトされます。
ユーザーがシングル・サインオン・セッションを終了するには、作業中のパートナ・アプリケーションで「ログアウト」をクリックします。これにより、アプリケーションのログアウトURLが同時にコールされ、ユーザーはアクセスしたすべてのアプリケーションからログアウトされ、シングル・サインオン・セッションが終了します。
ユーザーはシングル・サインオン・サーバーへリダイレクトされ、そこでシングル・サインオフ・ページが表示されます。サーバーがデプロイメント固有ページを使用するように構成されている場合は、ユーザーをこのページのURLにリダイレクトし、表H-5に記載されているパラメータをこのページに渡します。
ユーザーはシングル・サインオフ・ページで「戻る」をクリックすると、ログアウトを開始したアプリケーションに戻ることができます。
注意: パスワード変更ページを使用してパスワードを変更できるのは、パスワードの有効期限が近い場合のみです。Oracle Delegated Administration ServicesのUIを使用すると、いつでもパスワードを変更できます。このトピックの詳細は、「パスワード変更ページの動作」を参照してください。 |
パスワードの有効期限が切れている場合や期限切れが近いときにユーザーがログインしようとすると、サーバーは次のように動作します。
ログイン・ページにエラー・メッセージが表示されます。ユーザーはページを取り消すか、あるいはパスワードを変更できます。いずれの場合でも、パスワードの変更ページが表示されないときと同じように認証が行われます。
猶予ログイン期間がディレクトリで構成されている場合、ユーザーのパスワードが期限切れになるとパスワード変更ページがユーザーに表示されます。このページを取り消すか、パスワードを変更するオプションがあります。どちらの場合も、認証の手順はユーザーのパスワードが有効であるときと同じです。
この機能は、管理者によるパスワードのリセット後にパスワードの変更をユーザーに要求します。パスワード変更強制を有効にするには、ディレクトリ・エントリcn=pwdpolicyentry,cn=common,cn=products,cn=OracleContext,dc=
default_identity_management_realm
でpwdMustChange
属性を設定します。このためには、コマンドライン・ツールldapmodify
を使用します。TRUE
に設定すると、パスワード変更の強制機能が有効になります。FALSE
に設定すると、無効になります。ツールの実行方法については、『Oracle Internet Directory管理者ガイド』の章「パスワード・ポリシー」を参照してください。
ログイン・ページ、パスワード変更ページおよびシングル・サインオフ・ページのURLでは、これらのページが正常に機能するために、以降の表に示すパラメータを受け入れる必要があります。
この項には次のトピックが含まれます。
ログイン・ページのURLでは、表H-1に示すパラメータを受け入れる必要があります。
表H-1 シングル・サインオン・サーバーによりログイン・ページに送信されるログイン・ページ・パラメータ
パラメータ | 説明 |
---|---|
site2pstoretoken |
ログイン処理用の認証リクエスト・トークンが含まれています。 |
ssousername |
ユーザー名が含まれています。 |
p_error_code |
エラー・コードが文字列の形式で含まれています。認証中にエラーが発生したときに渡されます。 |
p_cancel_url |
「取消」(このボタンがログイン・ページに存在する場合)をユーザーがクリックしたときのリダイレクト先URLが含まれています。このURLは、ログインが開始されたパートナ・アプリケーションのホームURLを指しています。 |
locale |
ユーザーの言語設定です(オプション)。ISO形式にする必要があります。たとえば、フランス語の場合は |
ログイン・ページでは、表H-2に示すパラメータを次の認証URLに渡す必要があります。
http://sso_host:sso_port/sso/auth
表H-2 ページからシングル・サインオン・サーバーに送信されるログイン・ページのパラメータ
パラメータ | 説明 |
---|---|
|
ログイン処理用のリダイレクトURL情報が含まれています。 |
ssousername |
ユーザー名が含まれています。UTF-8 encodedであることが必要です。 |
password |
ユーザーによって入力されたパスワードが含まれています。UTF-8 encodedであることが必要です。 |
subscribername |
レルムが有効な場合のサブスクライバ・ニックネームです。UTF-8 encodedであることが必要です。 注意: このフィールドがログイン・ページで必要なのは、シングル・サインオン・サーバーで複数のレルムが有効な場合のみです。 |
locale |
ユーザーの言語設定です(オプション)。ISO形式にする必要があります。たとえば、フランス語の場合は |
v |
ページ・バージョンが含まれています。これは推奨ですが、オプションです。パラメータが渡される場合、その値は |
ログイン・ページには、パラメータ名ssousername
のテキスト・フィールドとパラメータ名password
のパスワード・フィールドの少なくとも2つが必要です。値は、認証URLに渡されます。ログイン・ページには、site2pstoretoken
も非表示パラメータとして含まれている必要があります。このパラメータはログインURLに送信される必要があります。
これらのパラメータを送信する他に、ログイン・ページはp_error_code
の指定に従って適切なエラー・メッセージを表示し、ユーザーが「取消」をクリックするとp_cancel_url
へリダイレクトする必要があります。
ログイン・ページを作成するときは、ユーザーがパスワードをリセットできるようにするリンクを構成できます。このURLでOracle Delegated Administration Servicesのホーム・ページに進むことも、あるいはOracle Delegated Administration Services内の「パスワードを忘れた場合」リンクに進むこともできます。「パスワードを忘れた場合」リンクをクリックしたユーザーには、質問が与えられます。ユーザーはこの質問に正しく答えないと、パスワードをリセットできません。
Oracle Delegated Administration Servicesは、通常はOracleAS Single Sign-Onと同じコンピュータで、次の形式のURLによってアクセスできます。
http://sso_host:sso_port/oiddas/
「パスワードを忘れた場合」リンクを使用してパスワードをリセットする方法の詳細は、『Oracle Identity Management委任管理ガイド』の章「Oracle Internet Directoryセルフサービス・コンソール」を参照してください。
パスワード変更ページのURLでは、表H-3に示すパラメータを受け入れる必要があります。
注意: GITデプロイメントでは、パートナ・ログアウト・フローがp_done_urlで問合せパラメータを必要とするとき、このパラメータをURLエンコーディングして、Oracle Access Managerログアウト・サーブレットがこれらをOracle Access Managerパラメータであると解釈するのでなく、1つのp_done_urlの要素であると解釈するようにする必要があります。 |
表H-3 ページに送信されるパスワード変更パラメータ
パラメータ | 説明 |
---|---|
p_username |
ページのどこかに表示されるユーザー名が含まれています。 |
p_subscribername |
ホスティングが有効な場合のサブスクライバ・ニックネームです。 注意: このフィールドは、ログイン・ページで必須です。 |
p_error_code |
前回のパスワード変更時にエラーが発生していた場合、文字列形式のエラー・コードが含まれます。 |
p_done_url |
パスワードが保存された後に戻る適切なページのURLが含まれます。 |
site2pstoretoken |
パスワードの期限が切れたか期限が切れようとしている場合に/sso/authログインURLで必要になる |
p_pwd_is_exp |
パスワードの期限が切れたのか、それとも期限が切れようとしているのかを示すフラグ値が含まれています。値は |
locale |
ユーザーの言語設定です(オプション)。ISO形式にする必要があります。たとえば、フランス語の場合は |
パスワード変更ページは、表H-4に示すパラメータを、パスワード変更URLに渡す必要があります。
http://sso_host:sso_port/sso/ChangePwdServlet
表H-4 ページにより送信されるパスワード変更ページのパラメータ
パラメータ | 説明 |
---|---|
p_username |
ページのどこかに表示されるユーザー名が含まれています。パスワード変更ページから、非表示フィールドとして送信する必要があります。UTF-8 encodedであることが必要です。 |
p_old_password |
ユーザーの古いパスワードが含まれています。UTF-8 encodedであることが必要です。 |
p_new_password |
ユーザーの新しいパスワードが含まれています。UTF-8 encodedであることが必要です。 |
p_new_password_confirm |
ユーザーの新しい確認パスワードが含まれています。UTF-8 encodedであることが必要です。 |
p_done_url |
パスワードが保存された後に戻る適切なページのURLが含まれます。 |
p_pwd_is_exp |
パスワードの期限が切れたのか、それとも期限が切れようとしているのかを示すフラグ値が含まれています。値は |
site2pstoretoken |
ログイン処理用のリダイレクトURL情報が含まれています。 |
p_action |
変更をコミットします。値は |
p_subscribername |
ページのどこかに表示されるユーザー名が含まれています。 |
p_request |
ユーザーによりリクエストされた保護URLです。 |
locale |
ユーザーの言語設定です(オプション)。ISO形式にする必要があります。たとえば、フランス語は 「グローバリゼーション・サポートの追加」を参照してください。 |
パスワード変更ページには、少なくともp_old_password
、p_new_password
およびp_new_password_confirm
の3つのパスワード・フィールドが必要です。パスワード変更ページはこれらのフィールドをパスワード変更URLへ送信します。
パスワード変更ページは、p_done_url
も非表示パラメータとしてパスワード変更URLへ送信します。さらに、p_error_code
の値に応じてエラー・メッセージを表示する必要があります。
シングル・サインオフ・ページのURLでは、表H-5に示すパラメータを受け入れる必要があります。
表H-5 シングル・サインオフ・ページに送信されるパラメータ
外部アプリケーション・ログイン・ページのURLでは、表H-6に示すパラメータを受け入れる必要があります。
表H-6 外部アプリケーション・ログイン・ページに送信されるパラメータ
パラメータ | 説明 |
---|---|
ID |
外部アプリケーションIDです。このIDは、「外部アプリケーション管理」ページに表示されます。OracleAS Single Sign-Onで構成される外部アプリケーションごとに、固有のIDが生成されます。このIDは、外部アプリケーションに関連する表の中で主キーとなります。外部アプリケーションのログイン・ページは、このIDを外部アプリケーションに戻す必要があります。 |
p_app_name |
ページに表示されるアプリケーション名が含まれています。これは、外部アプリケーションがOracleAS Single Sign-Onで構成されたときに指定される外部アプリケーションの名前です。 |
extappfieldname1..9 |
予備フィールド名です。各外部アプリケーションは、関連する予備フィールドを9個まで持つことができます。これらのフィールドは、可視にも不可視にもできます。可視フィールドは外部アプリケーションのログイン・ページに表示され、ユーザーはこのフィールドのデフォルト値を変更できます。不可視フィールドの値も外部アプリケーションに送信されますが、ユーザーはその値を変更できません。たとえば、ログイン・フィールド、パスワード・フィールドおよびロケール・フィールドがあるアプリケーションでは、 |
extappfieldvalue1..9 |
予備フィールドの値です。 |
extappfielddisplay1..9 |
予備フィールドの可視性です(trueまたはfalse)。フィールドがユーザーに可視であり変更可能か(true)、あるいはフィールドの値が固定値か(false)を決定します。 |
mode |
このパラメータはカスタム・ログイン・ページに渡される場合と、渡されない場合があります。ログイン・ページに渡す場合は、値を |
p_error_code |
前回のパスワード変更時にエラーが発生していた場合、文字列形式のエラー・コードが含まれます。 |
done |
ユーザーの資格証明が更新された後のレスポンスのリダイレクト先URLです。これは、 |
このページは、表H-7に示しているパラメータを、POSTメソッドを使用して外部アプリケーション・ログイン・コントローラに送信できる必要があります。
表H-7 「外部アプリケーション・ログイン」ページがアプリケーションに送信するパラメータ
パラメータ | 説明 |
---|---|
ID |
外部アプリケーションIDです。 |
p_app_username |
アプリケーションにログインしている個人のユーザー名が含まれています。 |
p_app_pwd |
ユーザーが送信するパスワードです。 |
p_remember_credentials |
アプリケーションのユーザー名およびパスワードをデータベースに保存する必要があるかどうかを、外部アプリケーション・ログイン・コントローラに示すフラグ。 |
extappfieldname1..9 |
予備フィールド名です。詳細は、表H–6を参照してください。 |
extappfieldvalue1..9 |
予備フィールドの値です。 |
extappfielddisplay1..9 |
予備フィールドの可視性です(true/false)。詳細は、表H–6を参照してください。 |
p_change_password |
外部アプリケーション・ログイン・コントローラに対して、モードを |
mode |
このパラメータはカスタム・ログイン・ページに渡される場合と、渡されない場合があります。ログイン・ページに渡す場合は、値を |
done |
ユーザーの資格証明が更新された後のレスポンスのリダイレクト先URLです。 |
ログインおよびパスワード変更ページのURLでは、これらのページが正しく機能するために、以降の表に示すプロセス・エラーを受け入れる必要があります。
ログイン・ページは、表H-8に示すエラー・コードを処理する必要があります。
表H-8 ログイン・ページのエラー・コード
表H-9に示すメッセージは、ユーザー認証の後に表示されます。これらのメッセージはログイン・ページによって処理されますが、パスワード変更ページによって表示される場合もあります。
表H-9 ログイン後のメッセージ
p_error_codeの値 | 対応するメッセージと説明 |
---|---|
pwd_expiry_warn_err |
説明: ユーザーのパスワードはまもなく期限切れになります。 メッセージ: 「パスワードがもうすぐ期限切れになります。変更してください。」 |
pwd_force_change_err |
説明: ユーザーのパスワードが期限切れです。変更する必要があります。 メッセージ: 「続行する前にパスワードを変更する必要があります。」 |
pwd_grace_login_err |
説明: ユーザーのパスワードは期限切れですが、猶予期間が有効であるためリセットできます。 メッセージ: 「パスワードが期限切れです。ログインの猶予期間です。パスワードを変更してください。」 |
パスワード変更ページは、表H-10に示すエラー・コードを処理する必要があります。
表H-10 パスワード変更ページのエラー・コード
p_error_codeの値 | 対応するエラー |
---|---|
confirm_pwd_fail_txt |
古いパスワードと新しいパスワードは一致しません。 |
null_new_pwd_err |
ユーザーは新しいパスワードを入力しませんでした。 |
null_old_pwd_err |
ユーザーは古いパスワードを入力しませんでした。 |
pwd_expiry_warn_err |
パスワードの有効期限が近づいています。 |
pwd_force_change_err |
パスワードを変更しないと、ユーザーは先に進めません。 |
pwd_grace_login_err |
パスワードは期限が切れましたが、猶予ログインが認められています。 |
account_deactivated_err |
ユーザー・アカウントが無効です。 |
acct_lock_err |
ユーザー・アカウントはロックされています。 |
pwd_illegal_value |
パスワードに不正な値が含まれています。 |
pwd_in_history_err |
パスワードはパスワード履歴の中にあります。 |
pwd_min_length_err |
パスワードは最小長の要件を満たしていません。 |
pwd_numeric |
パスワードは数字の要件を満たしていません。 |
OracleAS Single Sign-Onフレームワークにより、デプロイメント固有ページを各々のデプロイメントのニーズに合わせてグローバル化できます。どの言語でページで表示するかを決めるとき、様々な方針を採ることができます。2つの方針を次の項で示します。
サポートされている言語コードの全リストは、次のURLで『Oracle Application Serverグローバリゼーション・ガイド』の付録Aを参照してください。
http://otn.oracle.co.jp/document/
このURLで表示されたページから、OracleAS Single Sign-Onのマニュアルへのリンクをクリックし、適切なリリースのライブラリを表示する「ライブラリの表示」リンクをクリックします。
この項では、「HTTP Accept-Language」ヘッダーとデプロイメント・ページ・ロジックのいずれかを使用して表示言語を選択する方法を説明します。
ブラウザでエンド・ユーザーは、Webコンテンツを表示する際の言語(ロケール)を決定できます。ブラウザはユーザーが選択した言語をサーバーへ、HTTP Accept-Languageヘッダーの形式で送信します。デプロイメント固有ページのロジックはこのヘッダーを調べ、それに応じてこのページをレンダリングする必要があります。シングル・サインオン・サーバーでは、このページを受け取ると、Accept-Languageヘッダーの値を読み取り、ユーザーのアイデンティティの伝播時にその値をパートナ・アプリケーションへ送信します。多くのパートナ・アプリケーションでは、ユーザーがこのヘッダーをオーバーライドできますが、シングル・サインオフ・ページはサインオン時に確立された言語で表示される点に注意してください。このため、すべてのパートナ・アプリケーションで同じセッション言語が使用されます。
Accept-Languageヘッダーは、言語設定を決定するための推奨メカニズムです。この方法の主な利点は、エンド・ユーザーが他のWebサイトを閲覧している間に、言語をすでに設定している可能性が高いということです。そのため、これらのページとシングル・サインオンのページ間で閲覧の一貫性が保たれます。
前の項で説明した方法をお薦めしますが、ブラウザで設定された言語を拡張(またはオーバーライド)するメカニズムに基づいてグローバリゼーションを実装することもできます。たとえば、次のいずれかの方法があります。
ログイン・ページに言語一覧を表示し、ユーザーが選択できるようにします。ユーザーの便宜を考慮して、永続Cookieを設定してこの選択を永続的なものにすることもできます。
言語を1つ設定して、ページをレンダリングします。この方法は、ユーザーが単一言語で入力することがわかっている場合に適しています。
集中管理されたアプリケーション・リポジトリまたはディレクトリから言語設定を取得します。ユーザー設定項目、システム設定項目、構成データの集中管理されたストアは、言語を格納するのに最適です。
ページのロジックを使用して言語を設定する場合、ページではこの情報をシングル・サインオン・サーバーに伝播する必要があります。サーバーは、この情報をパートナ・アプリケーションに伝播する必要があります。最終的には、一貫性のあるグローバリゼーションが保たれます。ページでは、ログイン・フォームのlocale
パラメータ(表H-2)を使用して、ISO-639形式で言語を渡す必要があります。多くのサイトには、ISO-639の2文字言語コードの全一覧があります。次のサイトにもこの一覧があります。
http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
次のサイトには、ISO-3166の2文字国コードの全一覧があります。
http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
注意: locale パラメータがシングル・サインオン・サーバーに渡されると(表H-1)、パラメータ値はmod_ossoへ送られます。mod_ossoはこの値をHTTP Accept-Languageヘッダーの先頭に追加してから、ヘッダーをパートナ・アプリケーションに渡します。 |
エンド・ユーザーのロケールが決定されると、デプロイメント固有ページでは対応する翻訳文字列を使用して、ページをレンダリングする必要があります。これらの文字列の格納方法および取得方法については、『Oracle Application Server グローバリゼーション・ガイド』のロケール認識に関する章を参照してください。Java開発に関する標準的なドキュメントも参照してください。次に2つのリンクを示します。
Javaの国際化ガイド:
http://java.sun.com/j2se/1.4.2/docs/guide/intl/index.html
Javaドキュメントの一般的なリンク:
http://java.sun.com/j2se/1.4.2/docs
デプロイメント固有ページを実装する場合は、次のガイドラインに従ってください。
ログイン・ページとパスワード変更ページは、SSLで保護することをお薦めします。
ログイン・ページとパスワード変更ページでは、クロスサイト・スクリプティング攻撃に備えてコーディングする必要があります。
ログイン・ページとパスワード変更ページでは、自動埋込みとキャッシュをoff
に設定する必要があります。これにより、ユーザーの資格証明がブラウザに保存されたり、キャッシュされる恐れはなくなります。AutoComplete
タグの例を次に示します。
<FORM NAME="foo" AutoComplete="off" METHOD="POST" ACTION="bar">
オラクル社では、無認可のアクセスに対して警告するバナーを表示するように、ログイン・ページを構成することをお薦めします。たとえば、次のような文章を使用できます。
Unauthorized use of this site is prohibited and may subject you to civil and criminal prosecution.
シングル・サインオン・サーバーをホスティングするコンピュータに、ログイン・ページおよびパスワード変更ページをデプロイします。これにより、これらのページの不正なバージョンを簡単に検出できます。
policy.properties
ファイルを使用して、デプロイメント固有のログイン・ページとパスワード変更ページをインストールします。
ログイン・ページ、シングル・サインオフ・ページおよびパスワード変更ページを構成できます。
独自のログイン・ページ、シングル・サインオフ・ページおよびパスワード変更ページをインストールする手順
ORACLE_HOME
/sso/conf/policy.properties
のパラメータを編集します。次の例に示す値を、ログイン・ページ、ログアウト・ページ、およびパスワード変更ページへのパスと置き換えます。
#Deployment login page link loginPageUrl = /sso/pages/login.jsp logoutPageUrl = /sso/pages/logout.jsp #Deployment change password page link chgPasswordPageUrl = /sso/pages/password.jsp
シングル・サインオン・サーバーを再起動します。
ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
OracleAS Wirelessのフレームワークでは、デプロイメント固有のワイヤレスのログイン・ページとパスワード変更ページを統合できます。これらのページのインストール手順は、標準ページのインストール手順と同様です(前述の項を参照)。
ワイヤレスのログイン・ページとパスワード変更ページをインストールする手順
ORACLE_HOME
/sso/conf/policy.properties
を開きます。
次のパラメータを編集または追加します。
#Wireless login page link wirelessLoginPageUrl = wireless_login_page_url wirelessChgPasswordPageUrl = change_password_page_URL
シングル・サインオン・サーバーを再起動します。
ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
ユーザーがサード・パーティのアプリケーションにログインするときに表示されるログイン・ページを構成できます。
サード・パーティ・アプリケーションのログイン・ページを構成する手順
ログイン・ページが「ログイン・ページのパラメータ」および「ページ・エラー・コード」に示すページ・パラメータおよびページ・エラー・コードを受け入れることを確認します。
ログイン・ページを構成したら、ORACLE_HOME
/sso/conf/policy.properties
のextAppLoginPageUrlパラメータを編集し、次の例に示すパスをログイン・ページのパスに置き換えます。
extAppLoginPageUrl = /sso/pages/ealogin.jsp
ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
必要に応じて、アプリケーション・ページを構成できます。
シングル・サインオン・サーバーを再起動します。
ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=HTTP_Server ORACLE_HOME/opmn/bin/opmnctl restartproc process-type=OC4J_SECURITY
ipassample.jar
ファイルには、login-ex.jsp
、password-ex.jsp
、signoff-ex.jsp
の各ファイルが含まれています。これらのファイルを、デプロイメントに合わせてカスタマイズできます。これらのファイルを使用する場合は、次のようにします。次に示すコマンドを使用してファイルを取り出します。
ORACLE_HOME/jdk/bin/jar -xvf ORACLE_HOME/sso/lib/ipassample.jar
一般に、カスタマイズしたデプロイメント固有ページは、OC4J_SECURITYによって使用されている現在のバージョンのコンポーネント・クラスで動作する必要があります。カスタム・アプリケーションで、特定のクラスの別のバージョンを使用する必要がある場合は、そのクラスをOC4J_SECURITYインスタンスではなく、別のOC4Jインスタンスにデプロイすることが必要です。
たとえば、OC4J_SECURITYで使用されるバージョンと競合するカスタムlog4jクラスを使用する必要のあるデプロイメントでは、そのカスタム・クラスを含むローカルのlog4j jar
ファイルを使用する別のOC4J_SECURITYインスタンスを起動します。
警告: OC4J_SECURITYで使用されるクラスをカスタム・バージョンに置き換えると、OracleAS Single Sign-Onや他のOracle Application Serverコンポーネントが使用できなくなる場合があります。 |
「シングル・サインオン・サーバー管理」ページで「外部アプリケーション管理」リンクをクリックし、「外部アプリケーションの追加」リンクをクリックすると、「外部アプリケーションの追加」ページが表示されます。このページには、次の見出しとフィールドが含まれています。
表H-12 外部アプリケーション・ログイン
フィールド | 説明 |
---|---|
アプリケーション名 |
外部アプリケーションを識別する名前を入力します。これは、外部アプリケーションのデフォルト名です。 |
ログインURL |
外部アプリケーションのHTMLログイン・ページを認証するための送信先URLを入力します。次のログインURLの場合の例: Yahoo!Mail http://login.yahoo.com/config/login?6p4f5s403j3h0 |
ユーザー名/IDフィールド名 |
外部アプリケーションのHTMLログイン・フォームのユーザー名またはユーザーIDフィールドを識別する用語を入力します。この用語は、ログイン・フォームのHTMLソースで確認できます。(この後の手順の例を参照してください)。このフィールドは、Basic認証を使用している場合は適用されません。 |
パスワード・フィールド名 |
外部アプリケーションのHTMLログイン・フォームのパスワード・フィールドを識別する用語を入力します。この用語は、ログイン・フォームのHTMLソースで確認できます。(この後の手順の例を参照してください)。このフィールドは、Basic認証を使用している場合は適用されません。 |
表H-13 認証方式
フィールド | 説明 |
---|---|
使用する認証タイプ |
プルダウン・メニューから、アプリケーションで使用するフォーム送信方法を選択します。これは、ブラウザがメッセージ・データを送信する方法を示します。この文字列は、ログイン・フォームのHTMLソースで確認できます。次の3つの方法のいずれかを選択します。 POST: シングル・サインオン・サーバーにデータを転送し、ログイン資格証明をフォームの本文内で送信します。 GET: ページ・リクエストをサーバーに送信し、ログイン資格証明をログインURLの一部として発行します。 Basic認証: アプリケーションURL内のログイン資格証明を送信します。この送信は、HTTP Basic認証で保護されます。 注意:
|
表H-14 追加フィールド
フィールド | 説明 |
---|---|
フィールド名 |
ログイン時にユーザー入力を要求するフィールドをHTMLログイン・フォームに追加した場合は、そのフィールドの名前を入力します。このフィールドは、Basic認証を使用している場合は適用されません。 |
フィールド値 |
対応するフィールド名のデフォルト値を入力します(該当する場合)。このフィールドは、Basic認証を使用している場合は適用されません。 |
外部アプリケーションを追加する手順
「外部アプリケーション管理」ページから、「外部アプリケーションの追加」を選択します。
「外部アプリケーションの追加」ページが表示されます。
「外部アプリケーション・ログイン」フィールドに、外部アプリケーション名とHTMLログイン・フォームの送信先URLを入力します。Basic認証を使用する場合は、保護されたURLを入力します。
アプリケーションでHTTP POST認証またはHTTP GET認証が使用されている場合は、「ユーザー名/IDフィールド名」フィールドに、HTMLログイン・フォームのユーザー名またはユーザーIDフィールドを識別する用語を入力します。
この名前は、ログイン・フォームのHTMLソースで確認できます。
アプリケーションでBasic認証方式が使用されている場合は、「ユーザー名/IDフィールド名」フィールドを空にします。
アプリケーションでHTTP POST認証またはHTTP GET認証が使用されている場合は、「パスワード・フィールド名」フィールドに、アプリケーションのパスワード・フィールドを識別する用語を入力します。
ログイン・フォームのHTMLソースを参照してください。
アプリケーションでBasic認証方式が使用されている場合は、「パスワード・フィールド名」フィールドを空にします。
ログイン時にユーザー入力を要求するフィールドをHTMLログイン・フォームに追加した場合は、「追加フィールド」フィールドに、そのフィールドの名前とデフォルト値を入力します。
アプリケーションでBasic認証方式が使用されている場合は、これらのフィールドを空にします。
HTMLログイン・フォームでユーザーが追加フィールドのデフォルト値を変更できるようにする場合は、「ユーザーに表示」チェック・ボックスを選択します。
「OK」をクリックします。新しい外部アプリケーションが、「外部アプリケーション管理」ページの「外部アプリケーションの編集/削除」ヘッダーの下に、他の外部アプリケーションとともに表示されます。
アプリケーションのリンクをクリックして、ログインをテストします。
次の例に示す値のソースの使用対象は、Yahoo!Mailです。
<form method=post action="http://login.yahoo.com/config/login?6p4f5s403j3h0" autocomplete=off name=a> ... <td><input name=login size=20 maxlength=32></td> .... <td><input name=passwd type=password size=20 maxlength=32></td> ... <input type=checkbox name=".persistent" value="Y" >Remember my ID & password ... </form>
ソースには次の値が示されています。
ログインURL:
http://login.yahoo.com/config/login?6p4f5s403j3h0
ユーザー名/IDフィールド名: login
パスワード・フィールド名: passwd
使用する認証タイプ: POST
フィールド名: .persistent Y
注意: AS中間層のホスト名を変更する場合は、この中間層で外部アプリケーションの「ログインURL」フィールドを手動で更新する必要があります。この変更は、次の項で説明する「外部アプリケーションの編集」ページで行います。 |