セキュリティ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

ポータル アプリケーション リソースへの直接アクセスの防止

WebLogic Portal Administration Console で訪問者資格を使用することで、ポータル リソースへの訪問者アクセスを制御できます。ただし、ポートレットに含まれる JSP およびページ フローを保護するために、デプロイメント記述子も使用する必要があります。これを使用しないと、悪意のあるユーザが正しい URL を知っていれば、これらのリソースに直接アクセスできてしまいます。

この章の内容は以下のとおりです。

 


デプロイメント記述子の使用によるリソースの保護

J2EE セキュリティを使用して、JSP およびページ フローへの直接アクセスを防止する必要があります。これを行わないと、ユーザが正確な URL を入力すれば、これらのリソースにアクセスできてしまいます。

注意 : 記述子によるセキュリティの目的は、URL を使用した JSP またはページ フローへの直接アクセスを防止することだけです。ポータルでポートレットを表示する場合は使用されません。

スコープ指定ロールがそれぞれのデプロイメント記述子で定義されます。

以下は JSP の URL の例です。

http://emp_app/employmentPortal/portlets/hr/vpSalaries.jsp

ポートレットへの直接アクセスを防ぐには、ポータル Web プロジェクトの [/WEB-INF/web.xml ] ファイルにセキュリティ エントリを追加します。コード リスト 4-1 は、web.xml ファイルの例を示しています。

コード リスト 4-1 ポートレットへの直接アクセスを防ぐ宣言型セキュリティの使用
!-- 宣言型セキュリティを使用して、ポートレットへの直接アクセスを防ぎます。 -->
<security-constraint>
   <display-name>Default Portlet Security Constraints</display-name>
      <web-resource-collection>
      <web-resource-name>Portlet Directory</web-resource-name>
      <url-pattern>/portlets/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
   </web-resource-collection>
<auth-constraint>
   <role-name>Admin</role-name>
</auth-constraint>
<user-data-constraint>
   <transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

web.xml ファイルに追加されたセキュリティ エントリにより、ポータル Web プロジェクトの /portlet ディレクトリおよびサブディレクトリ内にあるどのファイルにも、要求 URL を使用して直接アクセスできません。

警告 : <url-pattern> では /portlets/*.jsp は無効な構文であるため、サブディレクトリは保護されません。

これらの保護されたリソースは、資格を付与されたポートレットでは引き続き表示されますが、それらのポートレットへのアクセス資格を与えられたユーザにしか表示されません。

セキュリティ制限が不要な画像などのリソースは、/portlets ディレクトリの外の保護されていないディレクトリに格納する必要があります。

注意 : 特定の URL または EJB リソースは、WebLogic Server Administration Console を使用して保護できます。この技術を使用する前に、URL リソースまたは EJB リソースの最初のデプロイメント時に既存のデプロイメント記述子からセキュリティ コンフィグレーションをコピーするか、URL リソースまたは EJB リソースのセキュリティ コンフィグレーションを再初期化して元の状態に戻す必要があります。詳細については、「デプロイメント記述子からのセキュリティ データのインポート」を参照してください。

  ページの先頭       前  次