- PR -

WebSphereでsecurity-constraintを使うには

1
投稿者投稿内容
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2005-01-17 13:00
ApplicationServerにWebSphere5.1.2を使用する開発で
検証用プログラムを書いています。

JSPをブラウザから直接入力した時にエラーになるように
web.xmlでsecurity-constraintを記述したのですが、
まったく有効にならずに、普通にページが表示されてしまいます。
web.xmlの内容はTomcat 5.0.28で動作確認したものですが、
WebSphereでは異なるのでしょうか?

なお、厳密に言うと、WebSphereでは無く、WebSphere Studio Application Developerの
WebSphere Runtimeで確認しております。

コード:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
  <servlet>
    <servlet-name>HogeServlet</servlet-name>
    <display-name>HogeeServlet</display-name>
    <servlet-class>hoge.HogeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HogeServlet</servlet-name>
    <url-pattern>/HogeServlet</url-pattern>
  </servlet-mapping>
 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <resource-ref id="ResourceRef_1056518841136">
    <res-ref-name>jdbc/test</res-ref-name>
    <res-type>java.lang.Object</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
  </resource-ref>
	
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>SecureJSP</web-resource-name>
      <description>ホーム以外のJSPを直接リクエスト不可とする</description>
      <url-pattern>/pages/hoge/jsp/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
      <description>JSPに直接アクセスすることを禁ずる</description>
    </auth-constraint>
  </security-constraint>

</web-app>



以上、ぶしつけですがよろしくお願いします。
skulker
ベテラン
会議室デビュー日: 2004/06/08
投稿数: 67
投稿日時: 2005-01-17 19:53
それぞれどうなってますか。
- application.xmlは?
- ロールは?
- ロールへのユーザ/グループのマッピングは?
あと、InfoCenterは見ましたか。
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2005-01-18 00:06
お返事ありがとうございます。

引用:

- application.xmlは?



無いです。非EJBのJSP + Servletだけなら不要だと思っていました。

引用:

- ロールは?
- ロールへのユーザ/グループのマッピングは?



ロール特に作成しておりません。”誰も”アクセス出来ないように
auth-constraintの子要素にrole-nameを”あえて”指定していません。

引用:

あと、InfoCenterは見ましたか。



明日、確認してみます。
skulker
ベテラン
会議室デビュー日: 2004/06/08
投稿数: 67
投稿日時: 2005-01-18 08:19
そもそもWebSphereのセキュリティが有効になっていますか?
http://www-1.ibm.com/support/docview.wss?rs=457&context=SSBRLP&context=SS2MD7&q1=Security&uid=swg21154951&loc=en_US&cs=utf-8&lang=en
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2005-01-18 23:06
WSADのセキュリティを有効にしてみましたが、
設定したユーザーでしかサーバーを起動出来なくなっただけで、
security-constraintが有効になることは有りませんでした。

また、InfoCenterを調べることも試みましたが、
文章が英語であることも有ってか、必要とする情報に
たどり着けませんでした。

あまり時間がないことから、JSPをWEB-INFの下に配置することにより
回避することにします。

せっかくアドバイスを頂いたのに申し訳ありません。
skulker
ベテラン
会議室デビュー日: 2004/06/08
投稿数: 67
投稿日時: 2005-01-19 00:03
web.xmlの書式はサーブレット仕様で決まってますから、TomcatだからWASだからっていう問題はありません。単純にコンテナのセキュリティ設定の問題でしょう。ユーザーレジストリーとか。

あと、InfoCenterは普通にアクセスすれば日本語版が表示される筈ですが。

折角なのでご紹介。
http://www-106.ibm.com/developerworks/websphere/techjournal/0303_barcia/barcia.html
http://www-106.ibm.com/developerworks/websphere/library/techarticles/0311_mitra/mitra.html

老婆心ながら本番稼動の際にトラブルにならない事を祈ります。サポート窓口の活用を推奨します。
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2005-01-19 09:08
アドバイスありがとうございます。

今回はある企業が作成した独自フレームワークを
使用するため単純にJ2EEの認証と組み合わせることが
出来るかどうかが定かでは有りません。

また、サポートについても私は社員ではないため
簡単には利用させてもらえません。

時間を見つけてご紹介いただいた記事を試したいと思います。
また、企業の技術チームにも相談したいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)