本番サイトでのシングル・サインオンの使用の詳細は、次の項を参照してください。
SSOサンプル・アプリケーションは、次のページで構成されています。
保護されている領域: WEM SSOフィルタで保護されているページ。このページには、シングル・サインアウト用の2つのリンクがあります(図62-1)。
1つ目のリンク(リダイレクトありのシングル・サインアウト)は、CAS側でシングル・サインアウトを実行し、ユーザーをホーム・ページにリダイレクトするHTMLリンクです。2つ目のリンク(リダイレクトなしのシングル・サインアウト)もHTMLリンクですが、CAS側でシングル・サインアウトを実行しても、現在のページから遷移したり、再ロードが発生したりすることはありません。
公開領域: 保護フィルタから除外されるページ。
ログイン・フォームを含む公開領域: このページは保護フィルタから除外されますが、ページ内にログイン・フォーム(図62-2)があります(ログイン・フォームではサインイン操作を実行できますが、現在のページから遷移したり、再ロードが発生したりすることはありません)。
注意:
ログインに成功すると、ユーザーは、CASによって、リクエストされたサービスにリダイレクトされます。セキュリティ目的で、ユーザーをリダイレクトする前に、リクエストされたサービスを検証できます。それには、Adminインタフェースの「システム・ツール」ノードのプロパティ管理ツールを使用して、信頼できるURLおよび許可されたURLのリストを指定します。信頼できるURL (カンマ区切り)をvalid.urls
プロパティに追加します。このプロパティでは、WebCenter Sitesにアクセスするために、信頼できるURLのユーザーが使用を許可されるように指定します。このプロパティのデフォルト値は、<wcsites.app.protocol>://<wcsites.app.host>:<wcsites.app.port>/<wcsites.app.contextroot>/*
です。詳細は、『Oracle WebCenter Sitesプロパティ・ファイル・リファレンス』を参照してください。
URLは、次の書式のいずれかにできます。
完全なURL。例:
http://hostname:port/cs/wem/fatwire/wem/Welcome
一致するURL。例:
http://hostname:port/SitesWebapp/*
ここで、末尾の/*
は、指定した接頭辞と同じ接頭辞が含まれるURLを示します
IPを使用した信頼できるURLも同様のURLを指定する必要があります。
SSOサンプル・アプリケーション(図62-3)には、本番サイトでシングル・サインオンおよびサインアウト機能を使用して、アプリケーションを保護するための基本コードが用意されています。次のコンポーネントを使用して、SSOサンプル・アプリケーションにアクセスします。
index.jsp
: 開始ページ。このページには、保護されている領域、公開領域およびログイン・フォームを含む公開領域の各ページ(「SSOサンプル・アプリケーションのデプロイ」を参照)へのリンクがあります。
template.html
: CAS用のカスタム・サインイン・フォームを指定する際に使用します。このファイルへのパスは、applicationContext.xml
ファイルのcasLoginPath
にあるwemLoginTemplate
パラメータで参照します。
/sso-sample/WEB-INFの構成ファイル
WEB-INF
には、次の構成ファイルが含まれます。
applicationContext.xml
: Spring Webアプリケーション構成ファイル。SSOサブシステムを構成します。
web.xml
: Webアプリケーションのデプロイメント・ディスクリプタ。
/sso-sample/protected/jspの保護付きファイル
この領域のファイルは、SSOフィルタで保護されています。デフォルトでは、このフォルダに次のファイルが含まれています。
protected.jsp
: SSOフィルタで保護されているページ。このページには、シングル・サインアウトを実行するための2つのリンクがあります。1つ目のリンクをクリックすると、CASサインアウト・ページに遷移し、サインアウトが完了するとアプリケーションのホーム・ページにリダイレクトされます。2つ目のリンクをクリックすると、このページにiframeが埋め込まれ、signoutCallback.jsp
ページにリダイレクトされるCASサインアウト・ページがコールされます。また、protected.jsp
ページには、現在のログイン済ユーザーを表すAssertion
オブジェクトのすべての属性も表示されます。
protected/jsp/protectedSection.jsp
: 埋込みiframeの「サインイン」リンクがクリックされた場合に、public.jsp
ページから参照されるページです。このページは保護されているため、埋込みiframeにログイン画面が表示されます。
/sso-sample/public/jspの公開ファイル
この領域のファイルは、SSOフィルタで保護されていません。デフォルトでは、/public/jsp/
フォルダに次のサンプル・ファイルが含まれています。
public.jsp
: このページは、CASフィルタで保護されていません。
publicWithAuth.jsp
: このページには、「サインイン」リンクが表示されます。このリンクをクリックすると、publicWithAuth.jsp
に、protectedSection.jsp
ページを指すiframeが埋め込まれます。このページは保護されているため、埋込みiframeにログイン画面が表示されます。
signoutCallback.jsp
: このページは、iframeを使用する場合にサイトアウトが完了すると、protected.jsp
ページからコールされます。
Webサイトでシングル・サインオンを実装する場合、サインイン・フォームを実装することになります。サインイン・フォームは、次の2つのいずれかの方法でサイト訪問者に表示できます。
シングル・サインアウトをWebページで実装する場合、次のいずれかの方法で実行します。
次のメソッドを起動して、single sign-out
URLを取得します。
com.fatwire.wem.sso.SSO.getSSOSession()
オブジェクトのgetSignoutUrl()
またはgetSignoutUrl(String callbackUrl)
メソッド。
シングル・サインアウト後に、必要に応じて、訪問者が指定したURLにCASからリダイレクトできます(これは、callbackUrl
パラメータで設定します)。
現在のページから遷移せずにシングル・サインアウトを実行するには、iframeの埋込み手法を使用します。この手法では、ソースにシングル・サインアウトURLを含むiframeを埋め込む必要があります。iframeがロードされると、サインアウトURLがコールされます(この方法は主に、ブラウザでのクロスドメイン制限を回避する場合に使用されます)。