2

ブラウザで実行されるアプレットがあります。

使用者がアプレットの実行許可を拒否した場合、アプレットは実行されず、AccessControlEceptionまたは同様のメッセージが表示されるはずです。

しかし、驚くべきことに、ユーザーが許可を拒否した後でも、アプレットは引き続き実行されます。以下は、Java コンソールからのトレースの一部です。

security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
security: Checking if certificate is in Deployment session certificate store
security: User has denied the priviledges to the code
security: Adding certificate in Deployment denied certificate store
security: Added certificate in Deployment denied certificate store
basic: Applet loaded.
basic: Applet resized and added to parent container

ユーザーが権限を拒否した後、アプレットがロードされないことが予想されますか? 何が起きてる?

4

2 に答える 2

2

追加の権限が要求されたが拒否された場合、アプレットは引き続き通常どおり実行されます。そうしないと、ページの領域が壊れてしまいます。アプレットの作成者は、標準のアプレット機能を続行するか、ある種の権限拒否メッセージを表示するかを決定する場合があります。残念ながら、多くのアプレットは品質が十分に低く (信頼できるはずのコードにとっては少し心配です)、例外のスローに失敗するだけです。

于 2012-06-20T16:41:41.270 に答える
1

..私は解決策を得たと思います。ユーザーが権限を拒否した場合でも、アプレットは制限された権限でロードされ、ユーザーが権限を付与した場合、アプレットはすべての権限でロードされます

あなたは間違っていると思います。Iced Tear JREは、拡張特権を要求し、ユーザーが拒否した場合、アプレットをまったくロードしません。これは、JRE の製造元に委ねられる決定です。

于 2012-06-20T10:23:56.470 に答える