2012-06-20 143 views
2

我有一个运行在浏览器中的小程序。尽管拒绝权限,Applet加载

我期望当使用拒绝小程序运行的权限时,它不应该运行并给出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 

是不是预计在用户拒绝特权后,applet不应该加载? 这是怎么回事?

+1

您是否复制/粘贴该输出?我发现很难相信甲骨文会在这种情况下错误地拼写'特权'。浏览器使用什么JRE?这个applet需要信任的是什么?更好的是,你的[SSCCE](http://sscce.org/)在哪里? –

+0

雅,我没有复制/粘贴输出,并且'权限'确实拼写错误在输出中。总之,我想我得到了解决方案。如果用户拒绝权限,则小程序仍会以有限权限加载,如果用户授予权限,则小程序将加载所有权限。 –

回答

2

如果请求了额外的权限但被拒绝,则小程序将继续正常运行。否则,你可能会破坏页面区域。小应用程序的作者可能会决定继续使用标准的小应用程序功能或显示某种权限被拒绝的消息。不幸的是,许多小程序的质量都很差(这对于应该信任的代码来说有点令人担忧),他们只是抛出了异常。

1

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

您认为是错误的。如果Iced Tear JRE请求扩展权限且用户拒绝,则它将不会加载该applet。这是一个决定,归结于JRE的制造商。