ユーザーが自分のハード ドライブ上のファイルを選択できるように、を使用できますJApplet
か? JFileChooser
それとも、これは Java アプレットのセキュリティに違反しますか? (デフォルトのセキュリティ設定が使用されていると想定しています。ユーザーに追加のアクセス許可を付与するよう求めたくありません。)
4 に答える
このスレッドJFileChooser
は、許可される前にアプレットにデジタル署名する必要があることを示しています。
前述のように、アプレットに署名する必要があります。これにより、ユーザーにアプレットが提示されたときに「あいまいなセキュリティ警告」が表示されます。ユーザーがこのアプレットの実行を受け入れると、アプレットは完全なアクセス権を与えられ、通常のアプリケーションのように機能しますが、セキュリティへの影響は明らかです。私が取り組んでいる Web アプリケーションに関して同じジレンマに陥っていますが、それがデプロイされるかどうかはまだわかりません。
小さなファイルで作業している場合は、代わりに、Web ブラウザーに組み込まれているファイル ブラウザーを使用して、サーバーからファイル コンテンツをバウンスすることもできます。
また、署名付きアプレットに関して実行できるセキュリティ対策には、次のものがあります。
アプレット コードの出所を検証しています。
URL appletUrl = MyApplet.class.getProtectionDomain().getCodeSource().getLocation(); if(appletUrl.toString().equalsIgnoreCase(safeAppletUrl) == false) return false;
アプレットが実行されたベース URL を確認しています。
URL documentUrl = this.getDocumentBase(); if(documentUrl.toString().equalsIgnoreCase(safeDocumentUrl) == false) return false;
その場合(デフォルト設定を使用する場合)、あなたは正しいです。デフォルトのセキュリティマネージャーはローカルファイルへのアクセスを許可しません。
ユーザーのハード ドライブから何かを読み取るには、おそらく PrivilegedAction を使用する必要があります。@mmyers が言ったように、アプレットにも署名する必要があります。
だからあなたの答えはイエスです。