例 : basicauth Web アプリケーションのセキュリティ コンフィグレーションのコピーと再初期化
この例では、basicauth Web アプリケーションのセキュリティ コンフィグレーションをコンフィグレーション済みの認可プロパティおよびロール マッピング プロバイダのデータベースにコピーして、以後 Administration Console からセキュリティ ロールとセキュリティ ポリシーを変更できるようにします。Administration Console を使用してセキュリティ ポリシーを変更したら、元のデプロイメント記述子を使用して basicauth Web アプリケーションのセキュリティ コンフィグレーションを再初期化します。したがって、この例は次の手順で構成されます。
注意: この例に進む前に、URL リソースおよび EJB リソースを保護する方法、URL リソースおよび EJB リソースを保護するための前提条件、および組み合わせた方法による URL および EJB リソースの保護に目を通しておいてください。
手順 1 : basicauth Web アプリケーションのセキュリティ コンフィグレーションをコピーする
basicauth Web アプリケーションのセキュリティ コンフィグレーションをコピーするには、次の手順に従います。
手順 1 : basicauth Web アプリケーションを入手する
注意: この節で説明する手順はすべて、Windows 環境での作業を想定しています。
- 「Basic Authentication Sample Web Application」を入手します (dev2dev Web サイトの「Code Samples: Weblogic Server 」からダウンロード可)。
- basicauth.zip ファイルを一時ディレクトリ (C:¥basicauth など) に展開します。
手順 2 : 事前設定を変更して Web アプリケーションをデプロイする
注意: この節で説明する手順はすべて、Windows 環境での作業を想定しています。
- fullyDelegateAuthorization フラグの変更方法の指示に従って、fullyDelegateAuthorization フラグを true に設定します。
注意: この設定の意味 : すべての URL (Web) および EJB リソースに対して WebLogic Security サービスによるセキュリティ チェックを実行するよう WebLogic Server に指示します。 詳細については、fullyDelegateAuthorization フラグについてを参照してください。
fullyDelegateAuthorization フラグが既に true に設定されている場合は、そのまま手順 2 に進みます。
- Windows の [スタート] メニューから、[プログラム|BEA WebLogic Platform 7.0|WebLogic Server 7.0|Server Tour and Examples|Launch Examples Server] を選択して examplesServer というサーバを起動します。
examplesServer が起動するとコンソールにfullyDelegateAuthorization フラグが表示され、ブラウザに [BEA WebLogic Server Out-of-the-Box Examples Index Page] が表示されます。
- Administration Console の左側のナビゲーション ツリーを使用して、[セキュリティ|レルム] を展開します。
- myrealm セキュリティ レルムを展開します。
- [一般] タブで、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスのチェックをはずします (このチェック ボックスのデフォルト設定なので、既にチェックがはずされている場合があります)。
注意: この設定の意味 : リソースをデプロイするたびに、URL (Web) および EJB リソースのセキュリティをデプロイメント記述子からコンフィグレーション済みの認可プロバイダとロール マッピング プロバイダのデータベースにコピーするよう WebLogic Server に指示します。 詳細については、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスについてを参照してください。
- [適用] をクリックして変更を保存します。
- 手順 1 で fullyDelegateAuthorization フラグを true に設定する必要があった場合 (つまり、目的の値が設定されていなかった場合)、サーバを再起動します。 詳細については、『管理者ガイド』の「WebLogic Server の起動と停止」を参照してください。
手順 1 で fullyDelegateAuthorization フラグの値を変更していない場合は、サーバを再起動しないで手順 8 に進みます。
- basicauth Web アプリケーションをデプロイして、examplesServer に割り当てます。
注意: Web アプリケーションをデプロイする手順については、『WebLogic Server アプリケーションの開発』の「Administration Console を使用した J2EE アプリケーションのデプロイ」を参照してください。
手順 3 : コピーしたセキュリティ ポリシーを検証する (省略可能)
- basicauth Web アプリケーションの web.xml デプロイメント記述子を開き、<url-pattern> および <http-method> 要素の内容と、<auth-constraint> 要素の <role-name> 下位要素の内容を記録しておきます。 リスト8-1 では、web.xml デプロイメント記述子ファイルの該当する部分を太字で示しています。
コード リスト 8-1 basicauth Web アプリケーションの web.xml デプロイメント記述子
<!DOCTYPE web-app (View Source for full doctype...)>
<web-app>
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>Success</web-resource-name>
<url-pattern>/welcome.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>developers</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>default</realm-name>
</login-config>
<security-role>
<role-name>developers</role-name>
</security-role>
</web-app>
- Administration Console の左側のナビゲーション ツリーを使用して、[Web アプリケーション] を展開してから、basicauth を右クリックします。
- メニューから [ポリシーを定義] オプションを選択します。
- [一般] タブの [URL パターン] テキスト フィールドに /welcome.jsp と入力します。
- [ポリシーを定義] ボタンをクリックして続行します。
- ポリシー エディタ ページで、[Methods] ドロップダウン メニューを使用して、POST メソッドを選択します。
[呼び出し側に許可するロールは] ポリシー条件が強調表示されます。[ポリシー文] リスト ボックスに次のように表示されます。
呼び出し側に許可するロールは
developers
- [Methods] ドロップダウン メニューを使用して、GET メソッドを選択します。
[呼び出し側に許可するロールは] ポリシー条件が強調表示されます。[ポリシー文] リスト ボックスに次のように表示されます。
呼び出し側に許可するロールは
developers
手順 4 : コピーしたセキュリティ ロールを検証する (省略可能)
- basicauth Web アプリケーションの weblogic.xml デプロイメント記述子を開き、<security-role-assignment> 要素の内容、特に <role-name> および <principal-name> 下位要素の内容を記録しておきます。 リスト8-2 では、weblogic.xml デプロイメント記述子ファイルの該当する部分を太字で示しています。
コード リスト 8-2 basicauth Web アプリケーションの weblogic.xml デプロイメント記述子
<!DOCTYPE weblogic-web-app (View Source for full doctype...)>
<weblogic-web-app>
<security-role-assignment>
<role-name>developers</role-name>
<principal-name>myGroup</principal-name>
</security-role-assignment>
</weblogic-web-app>
- Administration Console の左側のナビゲーション ツリーを使用して、basicauth Web アプリケーションを右クリックします。
- メニューから [ロールを定義] オプションを選択します。
- [一般] タブの [URL パターン] テキスト フィールドに /* を入力します。
- [ロールを定義] ボタンをクリックして続行します。
[ロールの選択] ページに、developers というスコープ ロールが表示されます。
- developers という名前のリンクをクリックします。
- [条件] タブをクリックします。
[ロール文] リスト ボックスに、デプロイメント記述子の対応する <principal-name> 要素 (ここでは myGroup というグループ) の内容に基づいたロール文が表示されます。
手順 5 : [デプロイメント記述子内のセキュリティ データを無視] の設定を元に戻す
警告: この手順は必須です。この設定を元に戻さないと、URL (Web) リソースを再デプロイした場合に、セキュリティ コンフィグレーションの整合性が失われる可能性があります。
- Administration Console の左側のナビゲーション ツリーを使用して、[セキュリティ|レルム] を展開します。
- セキュリティ レルムの名前 (myrealm など) をクリックします。
- [一般] タブで、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスをクリックします(つまり、ボックスにチェック マークを入れます)。
注意: この設定の意味 : Administration Console を使用して、Web アプリケーションおよび EJB リソースのセキュリティを設定するように WebLogic Server に指示します。 詳細については、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスについてを参照してください。
- [適用] をクリックして変更を保存します。
手順 2 : Administration Console を使用したセキュリティ ポリシーの変更
- Administration Console の左側のナビゲーション ツリーを使用して、basicauth を右クリックします。
- メニューから [ポリシーを定義] オプションを選択します。
- [一般] タブの [URL パターン] テキスト フィールドに /welcome.jsp と入力します。
- [ポリシーを定義] ボタンをクリックして続行します。
- ポリシー エディタ ページで、[Methods] ドロップダウン メニューを使用して、POST メソッドを選択します。
- [ポリシー条件] リスト ボックスで、[アクセス可能な時間帯は] ポリシー条件を強調表示します。
- [追加] をクリックします。
- [時間制約] ウィンドウの [OK] をクリックして、デフォルトの開始時刻と終了時刻を選択します。
[ポリシー文] リスト ボックスに次のように表示されます。
呼び出し側に許可するロールは
developers
アクセス可能な時間帯は
08:00:00 and 19:00:00
- [適用] をクリックして変更を保存します。
- [Methods] ドロップダウン メニューから POST メソッドを選択し、[ポリシー文] リスト ボックスに 2 つの式が存在することを確認します。
手順 3 : basicauth Web アプリケーションのセキュリティ コンフィグレーションを再初期化する
basicauth Web アプリケーションのセキュリティ コンフィグレーションを再初期化するには、次の手順に従います。
手順 1 : [デプロイメント記述子内のセキュリティ データを無視] の設定を変更する
- Administration Console の左側のナビゲーション ツリーを使用して、[セキュリティ|レルム] を展開します。
- myrealm セキュリティ レルムを展開します。
- [一般] タブで、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスのチェックをはずします
注意: この設定の意味 : リソースをデプロイするたびに、URL (Web) および EJB リソースのセキュリティをデプロイメント記述子からコンフィグレーション済みの認可プロバイダとロール マッピング プロバイダのデータベースにコピーするよう WebLogic Server に指示します。 詳細については、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスについてを参照してください。
- [適用] をクリックして変更を保存します。
手順 2 : basicauth Web アプリケーションを再デプロイする
- Administration Console の左側のナビゲーション ツリーを使用して、[デプロイメント|Web アプリケーション] を展開します。
- basicauth Web アプリケーションをクリックします。
- basicauth Web アプリケーションと同じ行にあるごみ箱アイコンをクリックします。
- [はい] をクリックしてから [続行] リンクをクリックして、basicauth Web アプリケーションを削除します。
削除した Web アプリケーションまたは EJB はテーブルに表示されなくなります。
- examplesServer を対象として、basicauth Web アプリケーションを再デプロイします。
注意: Web アプリケーションおよび EJB をデプロイする手順については、『WebLogic Server アプリケーションの開発』の「デプロイメント ツールおよび手順」を参照してください。
手順 3 : セキュリティ コンフィグレーションが再初期化されたことを検証する (省略可能)
- Administration Console の左側のナビゲーション ツリーを使用して、basicauth を右クリックします。
- メニューから [ポリシーを定義] オプションを選択します。
- [一般] タブの [URL パターン] テキスト フィールドに /welcome.jsp と入力します。
- [ポリシーを定義] ボタンをクリックして続行します。
- ポリシー エディタ ページで、[Methods] ドロップダウン メニューを使用して、POST メソッドを選択します。
[ポリシー文] リスト ボックスに次のように表示されます。
呼び出し側に許可するロールは
developers
手順 4 : [デプロイメント記述子内のセキュリティ データを無視] の設定を元に戻す
警告: この手順は必須です。この設定を元に戻さないと、URL (Web) リソースを再デプロイした場合に、セキュリティ コンフィグレーションの整合性が失われる可能性があります。
- Administration Console の左側のナビゲーション ツリーを使用して、[セキュリティ|レルム] を展開します。
- セキュリティ レルムの名前 (myrealm など) をクリックします。
- [一般] タブで、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスをクリックします(つまり、ボックスにチェック マークを入れます)。
注意: この設定の意味 : Administration Console を使用して、Web アプリケーションおよび EJB リソースのセキュリティを設定するように WebLogic Server に指示します。 詳細については、[デプロイメント記述子内のセキュリティ データを無視] チェック ボックスについてを参照してください。
- [適用] をクリックして変更を保存します。