いとさん初めまして。
情報提供ありがとうございます。
Googleでの検索ページを読んでみました。
Java VM使用環境では認証ダイアログが1回は出現してしまうようですね。
私の以下の環境で作成して頂いたテストページへのアクセスを試みました。
・WindowsXPpro SP1(ただしMicrosoft VMのインストールなし)
・SunのJava2インストール済(v1.4.2_03)
・IE6.0
【結果】
「<applet> に Java 2 v1.x.x_xx を使用 (再起動が必要)」のチェックを入れても
はずしても以下の結果でした。
結果:1.サーバからのユーザ認証を行う
2.applet起動時に1回ダイアログが出現し、認証を行う
やはり、applet起動時のダイアログ出現は避けられそうもありません。
Google検索ページの「Cookie認証を使用する」というのが唯一の解決策に
なりそうですが、Anhttpサーバでは対応していないようです。
あとはどのような運用にするかを考えるしかありません。
私のHPにおけるappletはそこまで重要な存在ではないので、
使用しない方向に進めたいと思います。
いとさんもおっしゃっている以下の点も考えものですしね。
>しかしこの Javaの認証ダイアログ、パスワードを知らないと
>強制終了以外では抜け出せないような。
>今の場合は直前の基本認証と同じなのでいいのですが。
askaさん
#タグミスのため再投稿します。
ColorHR で試してみました。
複数回認証現象は起きるケースと起きないケースがありますね。
実はどういうケースで起きるのかはよく分かっていませんが、
Sun Javaをインストールしているかどうかが関係あるのかも。
Googleで唯一見つかったページですが、以下がヒントになりそうです。
http://www-1.ibm.com/support/docview.wss?uid=lsj12beeda201b257fdb49256e310027d5ea
IEのインターネットオプション
「<applet> に Java 2 v1.x.x_xx を使用 (再起動が必要)」
にチェックがあれば、チェックを外すと認証は一度になります。
この項目自体があるかどうかは Sunの Javaをインストールしたかどうか
によるのではないかという気がします。OSの種類も関係あるかも。
ブラウザを Netscapeなど IE以外にまで対象を広げると
全てのケースで対策があるのかどうかは不明です。
Netscapeのバージョンにも関係しそうな感じもありますし。
認証方法を変更すればサーバ側で対応可能なのかどうか?
テストページを作りましたので、以下にアクセスして
試してもらってもいいです。
http://yito.dip.jp/java/ColorHR.html
ユーザ名: test, パスワード:java です。
恐らくほとんどの方は一度しか認証はないと思いますが。
しかしこの Javaの認証ダイアログ、パスワードを知らないと
強制終了以外では抜け出せないような。
今の場合は直前の基本認証と同じなのでいいのですが。
中田さんこんばんは。
java appletの認証ダイアログの件です。
指示のあった2点を試してみました。
>(1)ユーザ認証を設定しない場合は、そのダイアログは出ないのか
ユーザ認証を設定しない場合は、ダイアログは出ません。
>(2)公開されている applet で、同じことが起きるのか
公開されているappletでも同様のことが起きます。ちなみに
http://www.yo.rim.or.jp/~nakagawa/WWW/freejava.html
の「ColorHR」というappletで実験してみました。
以上2点から、ユーザ認証を行っているHPで、applet起動時に
認証ダイアログを出現させないのは、難しいような気がしました。
認証ダイアログが出現するのは恐らくjavaの仕様なんでしょうね。
サーバからappletに対しての「あなたは誰?」という要求があった時に、
そのようなダイアログを表示させるのかもしれません。
中田さんお返事ありがとうございます。
出現したダイアログはどうみてもjavaのswingコンポーネント
と呼ばれるものであり、サーバ側で直接表示する訳でも
ないと思いますので不思議です・・・
以下の2点確認して、またご報告させて頂きます。
>(1)ユーザ認証を設定しない場合は、そのダイアログは出ないのか
>とか、
>(2)公開されている applet で、同じことが起きるのか
>などを調べた方がよいのかもしれません。
aska さん、
そういうことだとすると、前の私の話はちょっと違いますね。
むしろ、
(1)ユーザ認証を設定しない場合は、そのダイアログは出ないのか
とか、
(2)公開されている applet で、同じことが起きるのか
などを調べた方がよいのかもしれません。
お返事ありがとうございます。
私の質問の仕方が悪く誤解を与えてしまいましたことお詫び致します。
>自作ならどこで applet の認証ダイアログが出るかわかるでしょうし、
appletは単なる区切り線の表示を行うだけですので、それ自体は認証を求めません。
サーバからの認証をダイアログボックスで求められます。
もちろんパスワードはサーバ側で設定したものです。
中田さんのおっしゃる以下の部分をapplet側でどのように埋め込むのかを
勉強してみます。
>それが同じHTTPサーバへのHTTPプロトコルによるアクセスだとしたらHTTP認証情報をつけることで回避できるのではないでしょうか、
aska さん、
自作ならどこで applet の認証ダイアログが出るかわかるでしょうし、それが同じHTTPサーバへのHTTPプロトコルによるアクセスだとしたらHTTP認証情報をつけることで回避できるのではないでしょうか、というつもりでした。
もっともそれ以外ならやはりだめだろうと思います。
中田さん、お忙しいところ早速のお返事ありがとうございます。
ご質問の件ですがappletは自作のものです。
aska さん、
HTTPサーバのBasicユーザ認証と Java applet の認証とは違うと思うのでだめだとは思いますが、、、
その applet は自作ですか?
【ご質問:java applet表示時にパスワードを求めない方法はありますか】
AnHTTPDサーバ快調に稼動しております。
とても使いやすく安定稼動で重宝しております。
さて、標題の件ですが、私のHPはrootでユーザ認証を
かけています。認証を通過したユーザは以下のディレクトリへ
アクセスできる訳ですが、appletを実行するページで
「パスワードの要求 -ネットワーク」というダイアログボックスが
表示されます。
すでに認証が済んでいる為、ここでの認証を省きたいのですが、
よい方法はありますでしょうか?