Applet加载尽管拒绝权限

时间:2012-06-20 09:40:27

标签: java security applet digital-signature

我有一个在浏览器中运行的applet。

我希望当用户拒绝运行applet的权限时,它不应该运行并提供AccessControlEception或类似的东西。

然而,令人惊讶的是,即使用户拒绝了权限,applet仍然会继续运行。以下是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

在用户拒绝权限后,不应该加载小程序吗? 这是怎么回事?

2 个答案:

答案 0 :(得分:2)

如果请求但拒绝了其他权限,则applet将继续正常运行。否则你会破坏页面区域。 applet的作者可能决定继续使用标准applet功能或显示某种权限被拒绝的消息。不幸的是,许多applet的质量都很差(对于那些应该被信任的代码而言有点担心),他们只是无法抛出异常。

答案 1 :(得分:1)

  

..想想我得到了解决方案。如果用户拒绝权限,则applet仍会加载有限权限,如果用户授予权限,则applet将加载所有权限

你认为错了。如果请求扩展权限并且用户拒绝,Iced Tear JRE将根本不加载applet。这是一个由JRE制造商决定的决定。