検索
連載

社内システムのセキュリティとアクセス制御の常識企業システムの常識をJBossで身につける(9)(3/4 ページ)

企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎!

PC用表示 関連情報
Share
Tweet
LINE
Hatena

JBoss SXのベーシック認証を試してみよう

 実際に動かしてみましょう。サーバにプロジェクトを追加します。サーバを選択して右クリックして、[プロジェクトの追加および除去]を選択します。

図5 プロジェクトの追加および除去
図5 プロジェクトの追加および除去

 「sampleSX」「/sampleSX/resources/sampleSX-ds.xml」を選択して[追加]ボタンを押し、完了ボタンをクリックしてください。

図6 [プロジェクトの追加および除去]ダイアログ
図6 [プロジェクトの追加および除去]ダイアログ

認証成功

 最後にサーバを起動したら、Webブラウザから「http://localhost:8080/sampleSX/home.seam」にアクセスしてみてください。以下のようなBASIC認証ダイアログが表示されるはずです。

図7 BASIC認証ダイアログ
図7 BASIC認証ダイアログ

 ユーザー名、パスワードともに「admin」と入力して、ログインボタンをクリックしてください。認証が通るはずです。

認証を失敗させてみよう

 次に、認証を失敗させてみましょう。「web.xml」を下記のように編集してください(ここでは、コード1の赤字部分のみ表記しています)。

<security-constraint>
  <web-resource-collection>
    <web-resource-name>Faces Servlet</web-resource-name>
    <description></description>
    <url-pattern>/home.seam</url-pattern> 
  </web-resource-collection>
  <auth-constraint>
    <role-name>Manager</role-name>
    </auth-constraint>
  </security-constraint>
  
   <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>JBoss SX Auz</realm-name>
  </login-config>
  
  <security-role><role-name>Manager</role-name></security-role>
  
</web-app>
コード5 web.xmlの編集

 再度実行してみましょう。サーバを起動して、「http://localhost:8080/sampleSX/home.seam」にアクセスしてみてください。再度、図7の認証ダイアログが表示されるはずです。ユーザー名、パスワードともに「admin」と入力して、ログインボタンをクリックしてください。認証に失敗して以下の画面が表示されるはずです。

図8 認証失敗時画面
図8 認証失敗時画面

しかし、これでは不十分

 以上でJBoss SXのベーシック認証機能を用いたアクセスコントロールの動きが理解できたと思います。既存のJBossを使ったプロジェクトに上記の簡単な修正を加えるだけで、認証機能を設定できました。

 先ほどご説明した通り、この認証機能だけではアクセスコントロールとしては不十分です。そこで登場するのが、次ページで最後に紹介するPicketLinkのXACMLコンポーネントです。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る