2009年 2月 20日 金曜日
【確認編】J2EE Agent 3.0 を用いて Weblogic に配備したサンプルアプリケーションをプロテクトする
前回のブログで、J2EE Agent 3.0 を用いて Weblogic に配備したサンプルアプリケーションをプロテクトするための設定について説明しました。
今回は、期待通りにポリシーが動作するかどうかを確認してみます。
11. 動作確認
セクション 9 で作成したユーザーを使って
サンプルアプリケーションのいろんなリンクにアクセスして、
ポリシーが期待通りに動作するかどうかを確認してみます。
- ブラウザを立ち上げて、http://my.test.domain.com:7023/agentsample へアクセスします。
次のような welcome ページが表示されるはずです。
- 左側の区画から、"J2EE Declarative Security" をクリックします。
次のようなページが表示されるはずです。
- 右側の区画に、2 つのリンクが表示されてるので、まずは "Invoke the Protected Servlet" をクリックしてみます。
すぐ上に説明が書かれてるように、このリンクにアクセスできるのは、manager グループに属するメンバーだけです。
- リンクをクリックすると、OpenSSO のログインページにリダイレクトされます。
ここで、chris でログインしてみます。
chris は、manager グループのメンバーなので、アクセスが許可されるはずです。
- ログインしてみると・・・・・
このように、アクセスに成功したことを示すページが表示されます。
- "J2EE Declarative Security" のリンクをクリックします。
- 今度は、"Invoke the Protected EJB via an Unprotected Servlet" をクリックしてみます。
説明が書かれてるように、このリンクにアクセスできるのは、employee グループに属するメンバーだけです。
chris は、employee グループにも属していますからアクセスできるはずです。
実際にリンクをクリックしてみると・・・
このように、アクセスに成功したことを示すページが表示されます。
- 次に、左の区画から "J2EE Security API" のリンクをクリックしてみます。
- 上の "Invoke Security Aware Servlet" をクリックしてみます。
このように、現在ログインしているユーザーが chris であり、manager と employee グループのメンバーであることを示すメッセージが表示されます。
- 次に、左の区画から "URL Policy Enforcement" をクリックします。
- "Invoke a Servlet Protected by URL Policy" をクリックしてみます。
説明されてるように、このリンクにアクセスできるのは、customer グループのメンバーだけです。
chris は、customer グループのメンバーですからアクセスに成功するはずです。
実際にアクセスしてみると・・・・
このように、アクセスに成功した旨を示すページが表示されます。
以上の結果から、chris でログインした場合、アプリケーション側で定義されているポリシーと OpenSSO 側で設定した URL ポリシーの両方に基づいてアクセスコントロールが期待通りに動作していることが確認できました。
ブラウザで、http://my.test.domain.com:7023/agentsample/logout と入力して、ログアウト処理を行います。
これにより、OpenSSO からログアウトされた状態になり、別のユーザーでの検証が可能となります。
ログアウト処理が正しく行われていれば、以下のように webcome ページが表示されているはずです。
今度はユーザー andy で試してみます。
- 左側の区画から、"J2EE Declarative Security" をクリックします。
- "Invoke the Protected Servlet" をクリックします。
- OpenSSO のログインページが表示されたら、andy でログインします。
andy も manager グループのメンバーなのでアクセスに成功するはずです。
- 次に、左の区画から "URL Policy Enforcement" をクリックします。
- "Invoke a Servlet Protected by URL Policy" をクリックします。
andy は、customer グループのメンバーではないのでアクセスが拒否されるはずです。
実際にクリックしてみると・・・・
このように、アクセスが拒否されたことを示すページが表示されます。
この結果からも、ポリシーが期待通りに動作していることが確認できます。
http://my.test.domain.com:7023/agentsample/logout にアクセスしてログアウト処理を行ったあと、今度は employee グループにのみ属している frank で試してみます。
- 左側の区画から、"J2EE Declarative Security" をクリックします。
- "Invoke the Protected Servlet" をクリックします。
- OpenSSO のログインページが表示されたら、frank でログインします。
frank は、manager グループのメンバーではないので、アクセスが拒否されます。
- 左側の区画で、"J2EE Declarative Security" のリンクをクリックします。
- 今度は、"Invoke the Protected EJB via an Unprotected Servlet" をクリックしてみます。
frank は、employee グループのメンバーなので、今度はアクセスに成功します。
- 次に、左の区画から "URL Policy Enforcement" をクリックします。
- "Invoke a Servlet Protected by URL Policy" をクリックします。
frank は、customer グループのメンバーではないのでアクセスが拒否されるはずです。
実際にクリックしてみると・・・・
このように、アクセスが拒否されたことを示すページが表示されます。
最後に、everyone グループにのみ属している gina で試してみます。
(その前に、http://my.test.domain.com:7023/agentsample/logout へアクセスしてログアウトしておきます。)
- 左側の区画から、"J2EE Declarative Security" をクリックします。
- "Invoke the Protected EJB via an Unprotected Servlet" をクリックしてみます。
- OpenSSO のログインページが表示されたら gina でログインしてみます。
これまで試したユーザーと違って、gina は、employee グループのメンバーではないので、アクセスが拒否されるはずです。
実際に試してみると・・・
このように、アクセスが拒否されたことを示すページが表示されます。
- gina は、"J2EE Security API" のページにある 2 つのリンクに対してもアクセス拒否されます。
また、"URL Policy Enforcement" ページにある "Invoke a Servlet Protected by URL Policy" をクリックした場合もアクセス拒否されます。
このように、いくつかのユーザーを使って、サンプルアプリケーション上のさまざまなページにアクセスし、ポリシーによるアクセスコントロールが期待通りに動作しているかを確認しました。
今回試さなかった、他のユーザーについても同じように期待通りの結果が得られることを確認してみてください。
また、新しいユーザーを作成して、グループに追加してみたり、既存のユーザーをグループから削除した場合にも、ポリシーが期待通りに動作するかどうかも試してみてください。
Posted by hanaki
( 2月 20日 2009年, 07:18:11 午後 JST )
Permalink
Trackback URL: http://blogs.sun.com/hanaki/entry/%E7%A2%BA%E8%AA%8D%E7%B7%A8_j2ee_agent_3_0