- - PR -
JavaWebStartでアプレットへのパラメータの渡し方?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-05 23:13
現在ServletとJWSを用いたシステムを開発しております。
当初は、サーバ上でアプレットのパラメータを記入したJNLPファイルを作成し、 JWSに渡していたのですが、 現在、セキュリティ上JNLPファイルにパラメータを記入せずにアプレットに渡すことが 必要となってきました。 どなたか解決策をご存知の方いらっしゃいませんか? もしよろしければ、ご教授願いたいのですが。 よろしくお願いいたします。 | ||||
|
投稿日時: 2004-10-06 09:11
サーバへWebサービスなりなんなりで JWS アプリケーションからアクセスすることは可能です。
しかし、HTTP または HTTPS でデータを受け渡すという意味では JNLP にパラメータを記述するのとセキュリティ上なんら変わりはないと思います。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-10-06 09:12 ] | ||||
|
投稿日時: 2004-10-06 10:33
インギさん、ご返答ありがとうございました。
サーバからJWSにCookie or Socket経由でパラメータを渡すことは可能でしょうか? できれば、JNLPファイル自体もサーバ上に作成したくありません。 サーバとユーザだけでクローズしたパラメータの渡し方ができたらと思っております。 素人なもので、的が外れていたらすいません。 どうしても解決策が見つからず、途方にくれております。 どうか、よろしくお願いいたします。 | ||||
|
投稿日時: 2004-10-06 10:46
インギさんのおっしゃっている「Webサービス」というのは、技術的にはSOAP over HTTP もしくはSOAP over HTTPSなどです。これがtakaさんの希望される「Socket経由」に マッチしますか? Cookieの場合、HTTPのrequest / responseの先頭にCookieヘッダを入れるだけですから、 まあ、これもHTTPもしくはHTTPSでやってるわけですが。 ちなみに、通信路の暗号化を考えられるのでしたら、どちらもHTTPSを使うというのが まずは安易な手段です。それに追加して、データの中身をアプリ独自の可逆暗号で 暗号化すれば、さらに強固にはなるでしょうね。 私はHTTPSで十分な気がしますが。 | ||||
|
投稿日時: 2004-10-06 11:02
>サーバからJWSにCookie or Socket経由でパラメータを渡すことは可能でしょうか?
まず JWS がなんであるかは理解していらっしゃいますか? JWS は署名さえしていれば Java で可能なことはなんでもできます。 >できれば、JNLPファイル自体もサーバ上に作成したくありません。 静的、動的に関わらず JNLP を用意しないと JWS アプリケーションを起動することはできません。 なにを懸念されているのでしょうか? >サーバとユーザだけでクローズしたパラメータの渡し方ができたらと思っております。 HTTPS で十分ではないでしょうか。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-10-06 11:07 ] | ||||
|
投稿日時: 2004-10-06 12:26
>まずは安易な手段です。それに追加して、データの中身をアプリ独自の可逆暗号で
>暗号化すれば、さらに強固にはなるでしょうね。 おばけさん、アドバイスありがとうございました。 >静的、動的に関わらず JNLP を用意しないと JWS アプリケーションを起動することはできません。 >なにを懸念されているのでしょうか? JNLPファイルをローカルからアクセスできる場所に作るということは、 ファイル名さえ分かれば、誰でもアクセス可能にはならないのかどうか が一番心配です。Apacheの設定でなんとかなるものでしょうか? どうか、よろしくお願い致します。 | ||||
|
投稿日時: 2004-10-06 13:36
いったんファイルを生成する必要はありますか? 無ければWebサービスで動的に生成したデータをクライアントに渡せば済むと思います。 もしどうしてもファイルにしたいのであれば、Apacheの公開ディレクトリ以下には ファイルを置かず、CGIやServletなどを通してファイルを公開するようにすれば 良いでしょう。この際、CGIやServletへのアクセス時に独自の認証ロジックを使う 様にする必要はあるでしょうね。CGIならApacheだけでも可能ですが、Servletなら 別途Webコンテナ(Tomcatなど)が必要です。 まあ、ベーシック認証で代用しても良いですけど、あれは認証情報がHTTPのヘッダで 流れちゃうんで、あんまりよろしくないかと。まあ、HTTPSなら良いのかな。。。 | ||||
|
投稿日時: 2004-10-06 13:58
>いったんファイルを生成する必要はありますか?
まったくファイルを生成する必要はありません。 ファイルを作成すること無しに 以下の方法では試しましたが、うまくいきませんでした。 response.setContentType("application/x-java-jnlp-file"); response.setHeader("Content-Disposition", "inline; filename=" + jnlpFile.getName()); byte[] bytes = jnlp.toXml().getBytes(); response.setContentLength(bytes.length); ServletOutputStream out = response.getOutputStream(); out.write(bytes); >無ければWebサービスで動的に生成したデータをクライアントに渡せば済むと思います。 上記以外でクライアントにデータを渡す方法を知りません。 もしよろしければ、ご教授願えませんでしょうか? よろしくお願い致します。 |